Thursday, January 10, 2013

Developing ios apps

iOS (previously iPhone OS) is a mobile operating system developed and distributed by Apple Inc.Originally released in 2007 for the iPhone and iPod Touch, it has been extended to support other Apple devices such as the iPad and Apple TV. Unlike Microsoft's Windows Phone and Google's Android, Apple does not license iOS for installation on non-Apple hardware.

 Then you may think how I used iOS to try out apps in ios. I am not owning an Apple-mac or MacBook Pro but running Mac OS X Snow Leopard as a virtual machine in VMWare Worksation since i could get the ios image from one of my lecturer at my college. May be the performance is not that appreciable but I could work with it fine.

Also keep in mind that ios apps follow MVC pattern 

MVC in ios

A common design pattern in software development is called Model-View-Controller, or MVC for short. It's a methodology that separates the behavior and data of the application from the user interface. By keeping parts of the application separated into different classes your application can be developed more quickly and easily. By their design, the Cocoa frameworks practically force developers to use solid MVC principles, especially when building iOS apps.

Each object in your application is assigned one of three roles: model, view or controller. These roles describe that object's behavior and responsibilities. Let's talk about what each part of MVC means as it pertains to building iOS apps.

Model :- The model layer manages the data of your application. Model objects encapsulate data and also hold the behaviors that will update or process this data.

View :- Views are the objects used to build your user interface. But view objects are different because they're actually seen by the user on the screen. Text labels, buttons, input fields, table views, scrollable panes and tabs are all view objects with defined behaviors and attributes.

Controllers :- Controllers are the meat of your application. They have many responsibilities and the bulk of your custom application code will be within controller classes. they initialize and position the view objects for your user interface, automatically handle rotation changes and necessary layout updates, handle user events (tapping, swiping, etc.), let model objects know of data changes made at the view layer, retrieve updated data from model objects and updating the view accordingly

I was a complete beginner for mac environment and ios when start working with it. here the programming language used is Objective C. It was quite odd for me too when started working with it. But we need not to be worried to learn new technology or anything that is not familiar to us. 

I followed a series of video tutorials to gain the beginners knowledge and worked on it up to creating a music player for blind or visually impaired users. So, i thought to post even the very simple apps I tried out and hope to give you the guidance on how my resulting music player for blind was.

Follow the next post to find out a series of simple apps in ios i tried.