Sunday, March 8, 2015

Cross Platform Game Programming with Cocos2d-JS

In case you missed my talk at SoCal Code Camp on March 8th, on Cross Platform Game Programming with Cocos2d-JS here are the slides.


Saturday, March 7, 2015

Upcoming Workshops

For the next few months I will be busy presenting at quite a few workshops. The one thing they all have in common is that they are JavaScript-based. I will teach using JavaScript in the browser, on mobile devices, and deep dive into JavaScript especially directed at those who wish to master the language.

April 14th, 8:30AM - 12:00 PM
Mobile Dev + Test
Manchester Grand Hyatt
1 Market Place
San Diego, CA  92101

Ionic is an open source, front-end framework for building hybrid mobile apps with HTML5. Using the Ionic framework, you can combine PhoneGap and AngularJS—the hottest web MVC framework around for building fast, testable web applications—to create cross-platform apps using standard web development tools like HTML, CSS, and JavaScript. Troy Miles introduces you to the Ionic framework and discusses how to use it with AngularJS. Participants will build a simple, full-featured application that offers a great overview of Ionic's key features. You will run the app on the Genymotion Android emulator, so you won't need a smartphone for testing. Learn how to debug the app in two different ways. The first: Run it as a web app and use the tools of the Chrome browser. The second: Run the app on the emulated device and use Chrome's remote debugging capabilities. Leave with the knowledge and tools you need to develop enterprise-ready cross-platform mobile apps with Ionic.

April 14th, 1:00PM - 4:30 PM
Mobile Dev + Test
Manchester Grand Hyatt
1 Market Place
San Diego, CA  92101

PhoneGap (aka Cordova) is a cross-platform framework for developing mobile apps using standard web development tools like HTML, CSS, and JavaScript. Join Troy Miles to learn how to create mobile apps with PhoneGap by building a simple but full-featured app during this hands-on class. Troy explores PhoneGap’s important capabilities, including GPS, camera, and audio recordings. Because JavaScript has a reputation as a somewhat difficult language, Troy teaches techniques for keeping your code robust and clean. To give your app the appropriate look and feel for the device on which it is running, the class will use the open source Chocolate Chip UI framework for testing. Troy shares ways to debug the code by running it as a web app, using browser development tools, or as a phone app, using the Chrome browser’s remote debugging features. Leave with the basics you need to start building your own cross-platform mobile apps.

May 7th or 8th, (not know yet)
The Westin Lake Las Vegas Resort & Spa

101 Montelago Boulevard, 
Henderson, NV 89011

What is the Ionic Framework? The Ionic Framework combines Google's AngularJS with Apache's Cordova to create fast and beautiful cross-platform mobile apps for iOS and Android. In this talk we will explore Ionic, show how to install it, and finally build a quick and dirty app and deploy it to both iOS and Android. 

May 11th - 14th, 8:30 AM - 5:00 PM
1691 Kettering , Irvine, CA

You will learn in-depth fundamentals of the JavaScript language, going far beyond knowing how to use JavaScript to build web pages. You will master the core concepts in programming with JavaScript including; types, objects and object-oriented programming, patterns for how to design and construct your JavaScript programs, and newer features in the language from the ECMAScript 5.1  and 6 specification. Throughout the course you will learn the nuts and bolts of the JavaScript language that you can use to grow as a professional.

Tuesday, March 3, 2015

ES6 - Harmony Draft Specification

Ok, I will be honest and admit that the actual JavaScript/ECMAScript ES6 draft specification is not the most interesting thing to read, but if you really want to know JavaScript you have to have it. And it is free, so why not? Download a PDF version from: ES6 Draft Specification PDF. Read it online at: ES6 Online Draft Specification. Keep in mind that while the specification is expected to be ratified this year, there is no guarantee that there won't be changes between now and then. 

Free Online ES6 Harmony Book

Well known JavaScript guru, Nicholas C. Zakas, has made his upcoming ES6 book free to read online. If you like it, why not buy it, it is less than $20.

Mastering AngularJS Directives Pre-Workshop Notes

Getting ready for this workshop is pretty easy. In order to make the most of our short time together it is best to install everything before the class. Luckily we don't need too much to develop Angular apps.

First we will need a browser. I highly recommend using Google's Chrome since that is what I will be using and it comes complete with a rich set of developer features.

Next we will need an editor. My personal choice is JetBrains WebStorm it isn't free but it does come with a free 30 day trial. If you would like a free editor there is Adobe's community editor, Brackets. I won't be using it in the workshop but it is an excellent editor for the price: If you have another editor which you prefer and know how to use, please feel free to use it, just make sure it has the ability to function as a web server which is something both Brackets and WebStorm know how to do.

The final thing we need is Git. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It is available at: Below are the steps to install it on a Windows machine, the steps on Mac OS X are pretty easy as well.

Install Git
  1. Download the installation package
  2. Launch it
  3. Accept the User Account Control request
  4. Follow on screen instructions
  5. (You can allow Git to install to the Program Files directory)
  6. Click Use Git from the Windows Command Prompt
  7. Click Checkout Windows-style, commit Unix-style line endings
  8. Complete the installation

This is pretty much all you need for the workshop. In case you are wondering about AngularJS itself or code samples, these will be in a Git bundle which I will make available a few days before the class. A Git bundle allows me to put all of the steps of the examples we will work through into a single neat package. You will be able to take this bundle home with you for later reference.