What you need to make Firefox OS applications
A checklist of things you will need to learn to make Firefox OS applications
If you want to get into developing for Firefox OS there are several things you will need to consider, I would suggest running down this list and making sure you are happy enough with everything before you take on your first project.
Don't be daunted by this list, many of these things you will already know enough of.
- Learn HTML5 - Firefox OS makes use of the latest HTML5 features, so make sure you are up to snuff on the HTML5 inputs, and other elements that have been introduced. I would suggest having a read through the MDN to bring yourself up to speed.
- Learn CSS3 - Like HTML5 Firefox OS makes use of the latest CSS3 features so again you should make sure you are up to snuff with the newer properties and syntax. Again the MDN can help, and I would also suggest getting your head around Media Queries.
- Learn a good text editor - If you are new to development you will need to work your way around a good text editor, I would recommend Sublime Text 2, it is cross platform, lightweight and has pretty much everything a web developer needs.
- Learn how to debug websites and apps - A good proportion of your time will be spent debugging and viewing the source of your website or app, so it would be beneficial to learn how to use your browser's debugging tools.
- Learn some good basic app design - There is a good Firefox OS design guide at buildingfirefoxos.com
- Learn how to create icons for your app - Kind of like favicon's for your website your application needs icons to be used in shortcuts and in the marketplace. Mozilla have a styleguide on the subject.
- Learn how to debug your app - Wait, didn't I just say that? I did, but you need to again, because once the application is installed you will need to be able to do more debugging. There is an excellent guide here on it.
- Learn how to test - For your app to stand up to any scrutiny you will need to write unit tests for it and for it to pass. Personally I like QUnit.
- Learn how to backup and version control your code - I would suggest learning the ins and outs of GitHub.
- Learn how to deploy your application - Nearing the end of your project you will want to be able to upload your project to the relevant places.