See the Learning RIA site
Much like every other term in software there are many interpretations of what a Rich Internet Application is. Here I will share with you my own interpretation of RIA and a subset of skills you might need to realize this interpretaion. Being involved in RIA since the term was coined in 2002 my interpretation of what it means has followed and evolved with the technology able to fulfil its literal meaning. The term is fairly self explanitory when take at face value :
- Rich - Referring to the user experience and user interface. An immersive, valuable, well rounded and powerful experience.
- Internet - Having something to do with the interwebz
- Application - A program designed to solve some issue, achive a goal, or otherwise engage a minimum of one intellegent user, human or otherwize.
- application designed for use by cats
- iPad Lessons for dogs
- Pavlov Dog monitor Application which was shown in the iPad Lessons and is being extended as a treat despensor.
My interpretation of the way these three words define what we know as RIA is any program designed with a rich user experience that is either connected or has the ability to connect to the internet and was created using technology traditionally found online available via a browser. This means that for me, even if an app is offline, if it has the ability and potential intention to connect to the internet and communicate or utilize data over a network it is an RIA. This may also extend to applications comunicating on a local networkwhich has no true internet access, but would behave the same way if its netwrork communication were served from a remote server.
On mobile devices including Android and iOS, 75% of all applications developed are hybrid apps of which the majority are HTML5, CSS and Javascript. That means 3 out of every 4 apps you see are using the skills that will be taught in this course.
Large enterprize companies are backing HTML5 for desktop and mobile use. Intel recently purchased a company called AppMobi and has enhanced and rebranded the product and team as tyhe intel XDK which allows development of RIA for multiple platforms, stores and devices. Another example is Adobe who started the RIA movement after purchasing Macromedia Flash. They are now actively promoting their new RIA platform, Brackets. This is an HTML5 app development tool for desktop apps.
RIA has made a quiet move into the desktop and mobile platform without most people knowing that it was happening. The idea of platform specific or device dependant applications and code bases is slowly dieing out for many types of applications. Enterprise level applications have been migrating to browser based or installable RIA since 2011. This reduces their costs and decreases their overhead. See more about Current Developer Prefrences With App Development and RIA.
Knowing how to develop RIA and HTML5 apps can be very good for your productivity and resume. It can also make you more relevant in this ever changing world of technology.
Skill | Use |
---|---|
HTML | A very simple markup languge allowing you create organized layouts or scaffoldingfor displaying data or building applications |
CSS | A simple styling language that you can use to add design, animate and stylize your HTML application |
Javascript | A Scripting language allowing you to add interactivity and logic to your HTML and CSS applications |
unix / linux | a base for many operating systems like Mac and Ubuntu which are open source and give you a lot of power when building applications, servers and every day computer interactions. We will not be getting very indepth with this, only deep enoug to get you started in this wide world of awesomeness. |
nodeJS | A type of javascript which runs outside of the browser, allowing you to run javascript code as a server, or in a protected environment. |
Intel XDK | A platform for packaging RIA applications for various computers and devices |
This course will not have traditional tests, instead your progress will be tracked by individual or group projects. These projects at first will be very basic helping to connect you with the languages you are learning in a tangible method you can see and play with. As the course progresses we will be developing actual applications that the company can use to make work more efficient for the various departments.
Some of the examples of projects you will be building in this course are :
- Realtime Chatroom
- Video Confrence
- Realtime Multiplayer game
- Task list & job tracking app
During the course of this class, you will be releasing atleast one android app to the google play store, and at your disgretion additional apps to the Amazon app store, Chrome Web Store, and FireFox Marketplace.