Software Development, Web Design, Training

Presentations

Need a presenter for your user group or conference? Drop me a line and let's schedule something! --Nolan

Real World Scenarios For Modern CFML

The recent versions of ColdFusion have added many new language features. We’ve now got closures, functional programming constructs, QueryExecute, the safe navigation operator, the elvis operator, and even more coming in future releases.  For people new to functional programming or object oriented programming, it can be hard to see where these features can be beneficial.  Let’s fix that!

Connecting Vue.js and CFML

Vue.js is quickly becoming one of the more popular JavaScript frameworks. It provides a lot of the same benefits of Angular and React, but with a less intense learning curve, and more flexibility. We’ll start at the very beginning, showing how to install and begin using Vue and some of the basic features it provides. Then comes the server part. How do we send data from the Vue.js app to a server in the cloud? That’s were our CFML code comes into play. In this session we’ll discuss how to get started with Vue.js and how to start building a simple JSON API using CFML. Then we’ll connect the 2 pieces together building a fully working application with Vue.js + CFML.

Connecting AngularJS and ColdFusion

(This presentation can be done as a 1-day hands-on workshop, as a regular 1-hour session, or as a more involved 2-hour deep dive.)

AngularJS is an extremely popular JavaScript framework for building client-side applications.  Angular contains lots of great features and can be used to build both web and mobile applications.  Then comes the server part. How do we send data from the Angular app to a server in the cloud? That’s were our ColdFusion code comes into play.  In this session we’ll discuss how to get started with AngularJS and how to start building a simple JSON API using ColdFusion.  Then we’ll connect the 2 pieces together building a fully working application with AngularJS + ColdFusion.

Crash Course in jQuery

A presentation for folks that are still using “plain JavaScript” and haven’t yet been able to check out jQuery. Perhaps you’ve been stuck maintaining an older legacy app? Or got scared off by a bad explanation of jQuery someone gave you? Whatever the reason is, attendees of this talk will come away with a better understanding of how to start using jQuery in the applications.

Even More HTML5

HTML5 has been finalized but the spec is so big, browser makers have been slow to implement all the features. Still, several new (and useful) things have been making their way into the latest builds of FireFox and Chrome (and those other guys too) that are worth noting. Maybe you can stop relying on so many third-part libraries now. Maybe things that required hacks in CSS before can now be done easily.  Let's find out!

Mura ORM + Feed API = Awesomeness

Two of the most powerful features in Mura 7 are the improvements made to Mura ORM and the Feed API. Mura ORM takes care of your CRUD-type operations, plus manages changes to the database tables as you’re developing. The Feed API can be used to write advanced filters, reports, and other queries. Between these 2 features you almost never have to write a SQL statement again!  We’ll start by looking at some basic examples of how to use ORM and Feed API, and we’ll also look at some real-world examples of using both of these in your custom Mura development.

Infinite Scrolling With Mura 7

Pagination is boring! Let’s add infinite scrolling to our site ala Facebook and Twitter! Mura 7 added several new features that can be combined to do just that. In this session we’ll look at some functions in the new m() scope in Mura 7, new functionality in Display Objects, and how to manipulate them on the client-side at run-time. Then we’ll combine all of this together to show you how to build Infinite Scrolling into your own Mura website.

MVC With and Without a Framework

So you've looked at CF Components, and kind of understand the basics of how they work. Everyone says "frameworks are the way to go", but there's still a big knowledge gap between those 2 points. As each framework has its own terminology, how do you know where verbiage for one begins and the other one ends? Is "Controller" a Model-Glue specific thing? What about a "Service Layer" or a "View"? There's very little documentation available about the "Model-View-Controller" pattern for ColdFusion, that's not specific to a CF framework...and that's often what causes the confusion for people newer to OO development. In this talk we will go over a basic application that's built using the Model-View-Controller design pattern, but does not use any specific framework to get there. We'll also show when using the MVC pattern by itself may be enough for your app, when going to a full fledged framework may be the better way go to, and how easy it is to do so. For maximum benefit, you should have an understanding of how the CFComponent tag works, and we'll take it from there.

All About Application.CFC

Still using Application.CFM files? You might be losing out on some easy improvements to your application.  Application.CFC takes what Application.CFM does and improves upon it greatly. Rather than having the entire file run on every page request (which can be really slow!), you can break the code up so only sections run the first time the app starts up, when a new user longs on, when a new page request starts, when an error is thrown, and much more.  Though it’s a CFC file, you don’t even have to know object-oriented programming to take advantage of Application.CFC.  In this talk we’ll take a look at a legacy application using Application.CFM and step thru moving the code to an Application.CFC file, discussing the benefits and best practices along the way.

Modularity Shoot-Out: CFInclude vs CFModule vs Custom Tags vs CFFunction

Object Oriented Programming with CFComponents is definitely the direction most development is headed.  But before jumping into OO territory, there is still a lot of modularity and code re-use that can be done with just a few tags - CFInclude, CFModule, Custom Tags and CFFunction.