Tag Archives: jQuery

In our last blog article Vivien pointed out how Web 2.0 / Social Media changes learning. In addition to that I will write some lines about how web 2.0 affects software development (or just to add a new buzz word: “developing in the cloud”). Vivien said “The main feature of Web 2.0 applications is, that so far conventional applications for PCs are shifted into the world wide web.” This is true for software development, too.

Within the last year Cloud9ide has raisen a lot of attention because it shifted the development environment from the desktop into the browser. Thus collaborating with other developers had become easier then ever before. Together with cloud based databases, deployment servers and online repositories, the developer has everything he needs within his browser. The main reason for this paradigm shift is, that browsers (and their javascript engines) had become faster and more responsive.

Within this project I’m going to find out, if it’s possible for me to develop and deploy a web app only with the help of a browser. This means:

  • no local Editor or IDE, just my browser
  • no usage of own servers, repositories or infrastructure
  • no usage of services with costs

Below I will introduce all services I’m going to use for this project to fulfill the above requirements:

jsfiddle for the visual prototypes of the mini-games
  • online edtior for snippets build from html, css and Javascript
  • supporting all actively developed frameworks (jQuery, bootstrap, ExtJs,..)
  • code can be shared
  • good for isolating bugs and testing compatibility (e.g. css3 browser-support)

cloud9ide as a replacement for a desktop-ide/editor

  • online web-based Cloud Integrated Development Environment for Javascript and Node.js development  (It is written almost entirely in Javascript, and uses Node.js on the back-end)
  • code is accessible from anywhere on the web
  • teams can collaborate on projects and run/debug them within the browser
  • easy deployment on different servers (e.g. heroku)
  • free for open source projects

github as a public repository

  • web-based hosting service for software development projects that use the Git revision control system.
  • Includes source-code browser, in-line editing, wikis, and ticketing.
  • free for open source projects

heroku for hosting our app

  • cloud platform as a service (PaaS) supporting several programming languages.
  • Agile deployment for Ruby, Node.js, Clojure, Java, Python, and Scala.
  • Run and scale any web or background process with any web framework or worker type in minutes
  • first Node and a small Database is free
  • one-click-deployment-button in cloud9ide

Have a look:

Advertisements

Some thoughts on the pros and cons of the basic approaches to develop apps for mobile devices. Feel free to give some feedback.

Web App / Mobile Website (jQuery Mobile, Sencha Touch, Kendo UI, …)

  • Runs in the phone’s browser (HTML5, CSS, Javascript and/or local storage for the data) 
  • Uses the same codbase to support all devices and os (depends on the chosen framework) 
  • Updates installed in real time 
  • Found through google web search and accessible by desktop browsers 
  • User has to wait until the app is loaded (slow/no connection can ruin the experience for the user)
  • No full integration of all phone features (accelerometer, push notification, camera, compass, etc.)
  • Extensive use of javascript effects and Ajax may have bad effects on the performance and the CPU and battery usage.

Native App (Objective-C, .Net/C#, Java)

  • Using native UI-Components and OS-Api (best user experience) 
  • Fully utilize all phone features (accelerometer, geolocation, push notification, camera, compass, etc.) 
  • Because the app is downloaded on the device it can be accessed at any time 
  • Good for high performance applications (e.g. games)
  • Requires implementation specific to handset OS (using local database and filesystem) 
  • Must be downloaded and installed from the Apple iTunes Store, the Android Market and other similar services 
  • The consumer has to upgrade to get new versions 
  • IPhone native apps must be approved by Apple

Hybrid App (PhonegapRhomobileTitanium)

  • Using Phonegap every Web App can be wrapped into a native app packed for appstore distribution, without the need of lower-level languages such as Objective-C
  • Natively target all smartphones with a single codebase 
  • Access to the device API (http://phonegap.com/about/features) 
  • All layout rendering is done via the webview instead of the platform’s native UI-Framework, so the performance issues remain the same.