Wednesday, 12 November 2014

iPhone app development basics

Hey guys. First of all thanks for visiting my blog. Interested in iOS development? If so,
I would like to share some basic iOS concepts here for you guys.


To start developing apps for iOS devices you need to have a basic knowledge of Objective-C or SWIFT

Tools required for iOS development:

1. A Mac computer running the latest OS version.

2. Xcode
3. iOS SDK

Xcode is Apple’s integrated development environment (IDE). Xcode includes a source editor, a graphical user interface editor, and many other features. The iOS SDK extends the Xcode toolset to include the tools, compilers, and frameworks you need specifically for iOS development.


You can download the latest version of Xcode for free from the App Store on your Mac. (You need OS X version 10.8 to download Xcode. If you have an earlier version of OS X, you need to upgrade.) The iOS SDK is included with Xcode



To download the latest version of Xcode
  1. Open the App Store app on your Mac (by default it’s in the Dock).
  2. In the search field in the top-right corner, type Xcode and press the Return key.
  3. Click Free 
    Xcode is downloaded into your /Applications directory.

Objective-C is the primary language used to develop iOS apps. If you're comfortable with basic object-oriented concepts and the C language, Objective-C will make a lot of sense. 

I started learning Objective-C with no knowledge of C programming at the beginning.Then later on when you start practicing, you will get the hang of it. 
Some of the basic things to know before going deeper into Objective C are things like Classes, Variables, Constants, Conditions, Loops etc.


Object-Oriented Programming

Fully supports object-oriented programming, including the four pillars of object-oriented development:
  • Encapsulation
  • Data hiding
  • Inheritance
  • Polymorphism


Encapsulation:

Encapsulation is an Object-Oriented Programming concept that binds together the data and functions that manipulate the data and that keeps both safe from outside interference and misuse. Data encapsulation led to the important OOP concept of data hiding.

Data Hiding:

Data hiding is a software development technique specifically used in object-oriented programming (OOP) to hide internal object details (data members). Data hiding ensures exclusive data access to class members and protects object integrity by preventing unintended or intended changes.


Data hiding also reduces system complexity for increased robustness by limiting interdependencies between software components. 

Data hiding is also known as data encapsulation or information hiding.


Inheritance:

One of the most important concepts in object-oriented programming is that of inheritance. Inheritance allows us to define a class in terms of another class which makes it easier to create and maintain an application. This also provides an opportunity to reuse the code functionality and fast implementation time.
When creating a class, instead of writing completely new data members and member functions, the programmer can designate that the new class should inherit the members of an existing class. This existing class is called the base class, and the new class is referred to as the derived class.

Polymorphism:
Polymorphism is an object-oriented programming concept that refers to the ability of a variable, function or object to take on multiple forms. A language that features polymorphism allows developers to program in the general rather than program in the specific.