iOS Applications with HTML5 and CSS3 {9}

iOS Applications with HTML5 and CSS3

Today, mobile application (app) development has become one of the most popular trends in software development as we emerge ourselves into an on the go, handheld device era. “A few short years ago, most mobile devices were, for want of a better word, ‘dumb’” (Charland & LeRoux, 2011). Now, mobile devices have advanced so much that it can take away much of a person’s daily usage of a desktop or laptop. “Mobile apps are currently evolving very rapidly but generally are targeted at a specific task, run on a mobile device, make heavy use of the data network, and have a simple delivery mechanism (i.e., Google Play Store or Apple Store)” (Tracy, 2012). Mobile applications can be used in a variety of operating systems such as the iOS, Android, Blackberry OS, Windows Phone, and much more. To develop a mobile application, a basic knowledge of one or more programming languages is needed. This blog will focus primarily on the development of iOS applications using HTML5 and CSS3. Hyper Text Markup Language (HTML) and Cascading Style Sheets (CSS) are the core components in web development that have evolved tremendously over the past years. “Web design is becoming more sophisticated, with new browser techniques and design principles, including fluid grids, flexible images and media queries, making it possible to deliver a quality experience to users no matter how large (or small) their display” (Reyna 2012). The latest versions of the previously mention web development languages are HTML5 and CSS3. With the launch of HTML5 and CSS3, these two languages have opened a new form of computing: the ability to create iOS applications using HTML5 and CSS3 in native and web applications.


Building Web Applications Using Google API {7}

Unless you live under a rock, I will guarantee that you have come across at least one web site that utilizes one of the many Google APIs. Today, it is being used almost everywhere! To fully understand Google APIs, let me first explain what an API actually is. API stands for “Application Programmable Interface” and is a set of programming instructions that access web based software or tools (Dave). In this case, the Google API allow web developers to query Google’s servers, using its data for their own web applications. Google alone has dozens of APIs open to web developers and designers. Some of these APIs include: Maps API, Analytics API, Places API, Calendar APIs, YouTube APIs, etc. (Chapman, 2011). Let’s explore some of the more popular Google APIs.


Node.js {4}

           (Image obtained from

 Node.js was developed in 2009 by Ryan Dahl it was created to address issues with efficiency of traditional  platforms which took far too long to communicate over the network, spending magnitudes of more time processing web requests and responses than other parts of applications. “Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices” (, 2013).


Twitter Bootstrap {8}

Twitter Bootstrap

           Bootstrap was developed by Mark Otto and Jacob Thornton at Twitter in August 2011 as a framework to encourage consistency across internal tools. Before the creation of Twitter Bootstrap, engineers had lot of difficulties to create descent websites and web application. They used various libraries that they were familiar with for interface development; however, there were lot of inconsistencies among the individual applications that made the scaling and maintaining them very difficult. Bootstrap began as an answer to these challenges and quickly accelerated during Twitter’s first Hackweek.


MVC Pattern and Frameworks {1}

The article (2012), “Journey through the JavaScript MVC Jungle,” introduces the Model-View-Controller (MVC) pattern and offers resources to finding a JavaScript framework that provides organization and structure, while meeting the specific needs of a developer’s web application project. The author of the article, Addy Osmani, advises that MVC pattern helps structure code by breaking down the application into three sections: models, views, and controllers. The model in MVC handles the “domain-specific knowledge and data in an application (Osmani).” View holds the code for the user-interface and contains the presentation logic. Controllers in MVC respond to the user actions (business logic). The author further explains that not all frameworks follow the MVC pattern but will include the controller information in the view or some other component, therefore refers to these other frameworks as MV* pattern. Osmani advises that JavaScript MV* framework is best used when the web application communicates mostly with an API or back-end data service and he provides GMAIL and Google Docs as an example. So, MV* frameworks are more efficient for applications with tasks that do not rely on the server for the presentation logic of an application. Osmani also provides criteria and questions that are helpful for a developer when choosing a framework. The author suggests to review the features and code of the framework. If the framework has proven its operability in production, it can help determine if the framework fits the developer’s needs. The author also suggests that a well-documented framework can save a developer a lot of time, since information can be easily accessible and referenced. The article then reviews a handful of MV* frameworks such as Backbone.js, Ember.js, AngularJS, Spine, CanJS, DOJO, JQuery, and describes which type of applications they are best utilized. Finally, the author also provides pros and cons given by developers for the most popular frameworks to further support a developer’s decision for a chosen MVC framework.


Why You Should Use Node.js {4}

Node.js is becoming one of the most popular frameworks. The main reason for this is that it takes a language that almost everyone already knows, Javascript, and let’s them use it for server-side scripting. Node focuses on being an event-driven language and emphasis is placed on low-latency and scalability.  Unlike other languages such as PHP and Ruby, Node is multi-threaded and can run many simultaneous threads at once, increasing both speed and throughput. This is important because the most time-intensive part of a web application is when the application talks to the database. Instead of doing nothing while waiting for the database response, Node can use its multi-threaded technology to do many other things.


Programming Language of the Future {6}

The article I chose to blog about this week is titled, “Is Javascript the Future of Programming?” by Dani Fankhauser of Mashable Tech. JavaScript, “first created by Brendan Eich at Netscape in 1995″ (Fankhauser). It was initially not taken by developers as a serious server side languages, such as Java, Python, or Ruby. However, over the years JavaScript has become more prolific and more widely used, and can even be used as a server side language with a framework  called Node.js.         Node.js is an “asynchronous, which makes it highly scalable and a great fit for all the big data out there”(Fankhauser). JavaScript is the only client side language, and runs directly in the browser gives it an edge over other languages.  JavaScript is now one of the preferred  ways of developing applications for Windows 8, Klout, Storify and Yammer because of its ability to be a front and back end language. This and the array of tools at its disposal such as Node.js, jQuery (a library), JSON (JavaScript Object Notation) and MongoDB, give JavaScript a very bright future to be a top language for both the front and back end of applications.


New Programming Language – Dart {5}

In the article “Google Reveals Dart, New Open-Source Programming Language” written by Jill Duffy from PcMag, the author talks about the new open-sourced programming language developed by Google – Dart. Dart “is a class-based programming language used to create structured Web applications.” Dart is an improvement upon the JavaScript. The main goals of Dart is


Web Developers Thirsty for Mojito {Comments Off on Web Developers Thirsty for Mojito}

Yahoo has recently released an open-source Web application framework called Mojito, which will tailor to developers and allow them to promptly write applications for all major device platforms. “While Web app frameworks are nothing new, Yahoo claims Mojito is different because it addresses the problem of delivering content to devices that have weak or intermittent connection…” (Scott).  Mojito will allow developers to create apps using HTML, CSS, and JavaScript that can run on the client and on the server. An embedded JavaScript engine allows the app to run on both the server and the client. One of the benefits of the new open-source development application is the fact that it can switch between rendering on the client and on the server if bandwidth is limited, which will ultimately provide a better experience for the user.


Javascript’s new functional language, Roy! {2}

There have been many attempts to replace Javascript, but most have failed miserably. Javascript is the most popular and usually the only choice for the client-side web. Anyone that is interested in programming for web development will most certainly deal with Javascript. Most programmers feel as if Javascript is not a perfect language, and that the flaws are a pain to deal with. There have been many languages that have been released that compile Javascript, but these languages stick too closely to the format of Javascript and with that, they stick too closely to Javscripts semantics (McKenna, 2012). Due to these issues, Brian McKenna, has decided to release Roy, a language that is statically typed, functional, and had lightweight, readable Javascript output (McKenna, 2012). Roy is built around Javascript’s primitives, and the structure uses a structural typing as a form of inheritance. Roy also uses array that are variable-length and homogenous, as in they can only hold values of a single type. It also uses a type system that is of Damas-Milner interface, an algorithm that is global and will work on a program without any type annotations. Lastly, it is written in Javascript, which allows it to compile source code inside the browser and execute programs instantly within the browser; this feature allows programmers to run into less headaches during the development phase. This new language is able to appease many of the issues that web developers and programmers have with the current king of web languages, Javascript (McKenna, 2012). The journal article went on to show examples of Roy’s potential benefits and many other coding examples. The future of Roy looks bright as many developers will be helping contribute to the cause throughout 2012. McKenna and his team of volunteers expect that it will be ready for production systems within a year.