Thursday, 1 January 2015

LOOK OUT THESE 15 MOBILE APP DEVELOPMENT TRENDS IN THE YEAR 2015

The mobile app development industry is thriving and continuing to evolve year after year. In 2014, we saw mobile app market maturing from smartphones and tablets to wearable devices and Internet of Things. There was also an increased focus on app analytic and mobile app marketing. Now that 2015 is around us, we decided to list down the top 15 mobile development trends to expect in the New Year.

Originated From : http://julysystems.com/15-mobile-app-development-trends-look-2015/

Here are the 15 Trends.
  • Rapid Mobile Development
  • Cloud Driven
  • App Security
  • Beacon and Location Based WI-Fi Services 
  • Wearable Tech 
  • M-commerce, Banking and Mobile Payments 
  • Internet of Things (IoT) 
  • Big Data and App Analytic
  • The Growth of Enterprise Apps 
  • In- App Advertising and Purchasing  
  • User Experience First 
  • App Marketing 
  • HTML 5 
  • Mobile Gaming 
  • Smart Cities, Homes and Offices

1. Rapid Mobile Development 

Enterprises are having a tough time keeping up with the demand for mobile apps. With these growing demands, businesses are expecting to launch their product faster than ever. The main focus of mobile app developers in 2015 would be to shorten the development lifecycles and reduce the time frame between Ideation to launch.  We can expect to see some more rapid app development tools and frameworks in the market. Recently, we launched a solution to meet our customers’ expectations to launch their apps faster. This mobile development solution was conceived under the philosophy of delivering continuous value to customers, at every stage of building their app with main ingredients being Quick to Market and Rapid Iterations.  The response from the market and our customers has been fantastic.

2. Cloud Driven

The cloud technology will play a key role in mobile app development in 2015. With the upsurge in the usage of multiple mobile devices and wearable tech, app developers will have to focus on the ability to integrate and sync their apps on multiple devices. The cloud approach will enable developers to build their applications that can be accessed on multiple devices with same functions, features and data.  At July, we have an award winning  cloud based app development platform to help our customers build mobile apps that can be accessed on multiple devices with same functionality and content. The platform helps them create apps rapidly without any technical knowledge.

3. App Security

There were numerous reports related to hacking and information leaks in 2014.  As per Gartner’s prediction, 75% of mobile applications will fail basic security tests  in 2015. The hackers will continue to exploit security gaps in mobile applications to crack sensitive information. Security remains a big challenge on mobile devices. Key point, mobile app security is something developers need to seriously act upon in 2015.

4. Beacon and Location Based Wi-Fi Services

Beacon technology is starting to blur the boundaries between online and offline in the retail and advertising sector.  Apple has already integrated this technology in iOS that communicates with their network of iBeacons and Android is expected to follow them on the same lines in 2015.  In the coming years, Wifi will provide a lot more services than just the internet access .  The  primary benefit is that most businesses have already invested in WiFi and the market continues to show the trend of cellular plans becoming costlier due to a splurge in data consumption by users with smarter phones. WiFi works seamlessly for indoor experiences where cellular connectivity can be edgy and based on the access point location, businesses can know where their customers are and that will allow them to provide specific content right on their mobile phones. At July, we have a platform called Wi-Fi MX that enables businesses to engage consumers on their mobile devices through WiFi and provide access to locally relevant services and content. We’ll be reading a lot more about Beacon and Location Based Wifi Services in 2015 with more businesses and app developers adopting these technologies to create smart retails and offer right information at right place as consumers walk by.

5. Wearable Tech

Thanks to Apple Watch, wearable Technology was one of the most hottest topic in tech and consumer electronics industries in 2014. Until now apps for wearable devices were mostly focussed on fitness and health care industry. But, with the onset of 2015 Wearable devices are expected to be used by enterprises to improve their productivity and efficiency. There are also a lot of noise around fashion and textile  industries adopting wearable technology. Bottom line, mobile app developers will be moving their focus from smartphones to more on wearable device applications for enterprises and various industries in 2015.

6. M-commerce, Banking and Mobile Payments

According to eMarketer, 19% of retail ecommerce sales in 2014 will be made on a smartphone or tablet. Various analysts believe this positive trend will continue over the next 4 years as more and more consumers adapt to m-commerce. Using a mobile phone to pay or purchase instead of debit or credit cards will also become more common in 2015 with Apple Pay and Google Wallet. This will allow  developers to build mobile apps that can process transactions without the need of physical debit/credit cards or cash.

7. Internet of Things (IoT)

Internet of Things is growing exponentially with more and more people connecting via multiple devices.  Apps will further mature as they get integrated on multiple connected devices. It will inspire app developers to focus more on user experience on various devices. With IoT, the customer engagement management platforms based on WiFi or Beacon technology will also get a breakthrough to help businesses reach consumers via apps at the right time and right place.

8. Big Data and App Analytics

As Internet of Things and Wearable market grows, the need of app performance tracking and analysis will grow among the decision makers in various enterprises. There will be more focus on big data and analytics in 2015. Mobile app developers will continue to focus on adding new data collection methods in their apps to get more insights and actionable items to meet their client’s expectations and make more engaging and successful apps.

9. The Growth of Enterprise Apps

According to IDC predictions, 35% of large enterprises will leverage mobile application development platforms to develop and deploy mobile apps across their organizations in 2015.  IoT  for Enterprises (Enterprise of Things) is expected to get a major boost. Enterprise app stores are also expected to emerge this year allowing B2B application exchanges. Enterprise mobile management is also expected to grow in 2015. There will be a tremendous opportunity for app developers to work on building and managing applications for Enterprise market.

10. In- App Advertising and Purchasing 

According to a new study from research firm Juniper Research, in-app advertising spend across all mobile devices will reach $7.1 billion by 2015. Mobile Ad networks will go beyond banners and integrate and experiment with various ad formats. Mobile app advertising and in-app purchases will be a primary focus of monetization and a key to success as more and more app developers are shifting away from the paid download model.

11. User Experience First

User experience will lead technology in 2015. With the increasing number of smartphones, tablets and wearable devices, the app user experience will be more critical than ever. With more focus on in-app advertising and purchasing mobile app user experience will be more challenging. Analytic data will play a major role in helping app developers create better user experiences.

12. App Marketing

Mobile App marketing techniques continue to evolve each year.  In 2014, the app marketers were more focused on user engagement than user acquisition. With user engagement in focus, more and more marketers and developers have started to realize the importance of organic users as these users were more loyal and engaged than the users acquired through other paid channels. App Store Optimization will continue to be a key factor in making an app successful in 2015. With Beacon and Location based WiFi services, marketers will now have ease to be more targeted based on the user’s location and promote their apps with other offers.

13. HTML 5

HTML 5 and its development tools have been gaining popularity in 2014. As this technology mature, more and more businesses will adopt it to create hybrid mobile apps that work on multiple platforms with ease.  In 2015, the focus on native apps is expected to decrease with the rise of hybrid apps based on HTML 5.

14. Mobile Gaming

In 2014, the mobile games have gradually started to move from single player to multiplayer. With the rise of multiplayer games the social interaction and social media integration within the mobile games will become more important than ever.  In 2015, the mobile games are also expected to be more cloud driven due to the demand of frequent and regular updates in the games. This will require ongoing management by the game developers.

15. Smart Cities, Homes and Offices

With the rising popularity of IoT, Beacon and location based Wifi services, governments around the world will have ease to manage city infrastructure via these technologies. These technologies can provide a wide range of solutions including traffic monitoring and management, citizens safety and networked parking solutions.  These technologies would also help the real estate companies to create smart homes and office spaces that can be connected and managed via smartphones. All these solutions require app developers help to create mobile experiences.

As one of the leading mobile app developers, we’re all prepped and excited for what’s coming in the New Year.

Mobile App Development vs Responsive Web Design

First of all I would like to wish you a very very Happy new year 2015 :) And thank you very much for reading and sharing my blogs, which inspiring me to bring more interesting & futuristic articles in upcoming dates. Today we will discuss more on Mobile App Development vs Responsive Web Design.
  
Today, most of the business are using cloud computing to maximize the effectiveness of the shared resources. For the software, it includes the web solutions, mobility solutions including mobile app development and responsive web design.

Organizations are trying to keep their pace with mobile revolutions and know that adopting to newer things like mobile app development can definitely let them do better than competition.

Responsive websites are great because of browser compatibility and cross platform usage of the company's business website.Now the question is whether one should go with a mobile app or a responsive website design at beginning.

Below are few points, which may give answer to your question about how your mobile web presence should be.

If you have a special purpose or some sort of user interaction in mind, with special intention then a mobile app should be the way to go. If, on the other hand, you want to display your current website as it exists and on all devices, then the responsive web design should be your option.

The access speed of a mobile app is relatively fast compared to a mobile web design.Your mobile app is available in different app store all the time A Mobile app may have multiple content versions for each page whereas the content of a responsive website design is same regardless of any device or platform.

The development cost of mobile application 

development of course includes the cost of the mobile app developers in addition to a responsive web designer or a UI developer Apparently the features of mobile apps include multiple phone features like location services,camera wherein a responsive website has limited phone features.
Mobile apps are available offline wherein the information in responsive websites will be available only when you are online. Navigations or user interface in mobile apps are more interactive compared to responsive website design.

Usability and user access are better in mobile apps compared to responsive web design Website owner should decide on responsive website design and mobile apps development based upon the development cost, implementation time frame, design approach, user experience, performance, and ongoing maintenance. Again monetization is also an important factor. The rate in which the mobile apps can be monetized cannot be compared with mobile based website.

For example : A Car Rental App will be monetized faster compared to car rental website as the visitors find it easy to search and book the cars for transfers (one-way / both-way).

Other salient features of a Car Rental App are as following:

  • Search cars in four efficient way - From Airport, To Airport, Point to Point and Hourly Car list display with details.
  •  Easy address selection by google map.
  • Airport search results by current location.
  • Search car with multiple features.
  • Multiple language support.
  • Book a limo from app itself

 

Workforce Integration With SAP Mobile App Development


First of all I would like to wish you a very very Happy new year 2015 :) And thank you very much for reading and sharing my blogs, which inspiring me to bring more interesting & futuristic articles in upcoming dates. Today we will discuss more on Workforce Integration With SAP Mobile App Development.

Mobile applications meant for SAP are combined with fast and effective solution architecture and consultancy.  These mobile apps are technically advanced and efficient enough to put vital data at your mobile workforce's fingertips. They make your back-end data working and act as a real-time addition to your workforce efficiency and productivity. The growing importance of location-independent information access round the clock pushed the need of mobile devices and enterprise mobile apps.  The story isn't anyhow different for the SAP, the market leaders in enterprise mobility. Most of the mobile applications developed on this platform are designed as per their cutting-edge mobile device management (MDM) solutions and a leading mobile enterprise applications platform (MEAP) they offer.

Every app designed and developed by the experts using SAP Mobile Platform. The platform delivers the tools which are important to drive mobile initiatives across your entire organization. This also delivers a consistent development methodology adaptable to ever-changing business demands. An ideal mobile app made for this performs a range of tasks including:
  • Exchange of data between multiple mobile devices traditional back-end systems.
  • Ensures creation of enterprise-grade applications on a single platform
  • Enables workforce to access enterprise applications on multiple mobile devices
  • Secures data with end-to-end encryption
Ideally, a mobile app for SAP should be developed for complementing powerful and flexible mobile device management for enterprise of all size. A robust application provides organizations a single administrative console in order to help them manage, secure and deploy mobile data, applications and devices. Organizations avail an extensive range of client features for device management on these apps both for handheld and laptop devices. Organizations have expectations with the mobile apps they adapt for their in-house use. A mobile app for that purpose accomplishes a number of organizational motives such as:   

  • Maximum utilization of investment
  • Extensive security and flexibility for organizational resources
  • IT upgrades and improvements for the workforce
SAP mobile apps offer an innovative and handy web user interface or administrative console.  The console actively helps to mobilize your business and maximize ROI. It also rationalizes the integration of data in order to create connect between the work force and the available data. All this occurs in very quick, secure and reliable manner. Most of the apps have ability to integrate new and existing mobile enterprise apps together so that you can achieve more from your back-end data without adding cost overheads. Technically, an experience SAP mobile apps development firm streamlines the development, delivery, security, and management of your mobile apps with the SAP Mobile Platform. They help you to maximize productivity using popular tools, mobile Web, and various app architectures.

Wednesday, 31 December 2014

Mobile Game Development In Future

Mobile Game Development is growing rapidly creating big boom in all aspects. As many mobile game developers emerge everyday, the mobile gaming and innovations in this field improves rapidly. Yet the world in infant stage in mobile gaming when compared to PC and console games. This article speaks about the developments that will overtake the mobile game development scenario in a few years.

Future Mobile Game Development

The following topics are the new emerging trends in the mobile gaming world. And these trends will conquer the entire market in a few years to come. 

  • Massive Multiplayer Mobile Game Development
  • Interactive Server
  • Advertising/Promoting Through Mobile Games 
  • Promoting Cinemas/Movies Through Mobile Games
  • Advertising New Products Through Mobile Games
  • 3d Real World Scenario Mobile Games

Massive Multiplayer Mobile Game Development

The 3rd generation games with AI computer players are getting outdated today and the global multiplayer is getting its value. For this reason Online Massive Multiplayer Mobile Game Development is introduced, where players play against many other people around the world with their mobile phones. Definitely in a few years massive multiplayer mobile games will hit the market like the PC game scenario. Today, there is very little number of global multiplayer mobile games available in the market like Find4 by Smackall.com.

Interactive Server

This Massive Multiplayer Mobile Game is using the GPRS connection for the networking with a central server acting as router. It is almost the same as Nokia’s SNAP technology. This trend will soon get popular around the mobile game players. Smackall.com has developed the Massive Multiplayer Mobile Game SDK for FIND4 game. A customize SDK and the server is now available for sale.

Advertising/Promoting Through Mobile Games
Advertising and promoting a product is totally getting changed to new concept. Consumer product based companies are advertising their products through the PC games and with other entertainment products. As the mobile gaming have a very market and the advertisements reach very closer to the customers. It is very helpful for mobile game developer to make their games cost effectiveness and earn big revenue from them.

Promoting Cinemas/Movies through Mobile Games

Nowadays, film promoters look for publishing their cinemas/movies through other entertainment Medias. For this reason many producers and film makers come up for developing a game based on the movie. This type of publishing or promoting will reach the right customer and the right age group which the film is aiming at. So that today’s film directors are promoting their films through the mobile games with the help of custom mobile game developers. Games are developed based on the characters from the movie. These types of games will reach the customer soon and bring a good result as the character is familiar and the game story resembles the one they are impressed on. 

Advertising New Products through Mobile Games

Mobile Game Development is moving towards advertising market to make it cost effective and earn more revenue from each game. Some consumer product based companies have started investing on games. For example a famous painkiller in India has advertised on a mobile game in which they player uses their product for injuries. This type of advertising has become familiar in mobile game industries today. Soon there will be running displays in the bottom of the screen to hold advertisements and flash news.

3d Real World Scenario Mobile Games

Today in mobile game development there is lot of restrictions and minimal resources available for game developmentArticle Search, like CPU and memory in the device. The mobile gaming industry has just reached 3D gaming and soon there will be real world scenario games on mobile phones.

Sunday, 28 December 2014

The MVVM (iOS) Basics


If you’ve been developing iOS applications for any length of time, you’ve probably heard of Model-View-Controller, or MVC. It’s your standard approach to building iOS apps.  Lately, however, I’ve been growing tired of some of MVC’s shortcomings. In this article, I’m going to go over what MVC is, detail its weaknesses, and tell you about a new way to structure your apps: Model-View-ViewModel.

Source code : https://github.com/sibahota059/MVVM-iOS


Model-View-Controller

Model-View-Controller is the definitive paradigm within which to structure your code. Apple even says so. Under MVC, all objects are classified as either a model, a view, or a controller. Models hold data, views present an interactive interface to the user, and view controllers mediate the interaction between the model and the view.

In our diagram, the view notifies the controller of any user interaction. The view controller then updates the model to reflect the change of state. That model then (typically through Key-Value-Observation) notifies any controllers of updates they need to perform on their views. This mediation makes up a lot of the application code written in iOS apps.

Model objects are typically very, very simple. Often times, they’re Core Data managed objects or, if you prefer to eschew Core Data, other popular model layers. According to Apple, models contain data and logic to manipulate that data. In practice, models are often very thin and, for better or worse, model logic gets shuffled into the controller.

Views (typically) are either UIKit components or programmer-defined collections of UIKit components. These are the pieces that go inside your .xib or Storyboard: the visual and interactable components of an app. Buttons. Labels. You get the idea. Views should never have direct references to models and should only have references to controllers through IBAction events. Business logic that doesn’t pertain to the view itself has no business being there.

That leaves us with controllers. Controllers are where the “glue code” of an app goes: the code that mediates all interactions between models and views. Controllers are responsible for managing the view hierarchy of the view they own. They respond to the view loading, appearing, disappearing, and so on. They also tend to get laden down with the model logic that we kept out of our model and the business logic we kept out of our views. That leads us to our first problem with MVC…

Massive View Controller

Because of the extraordinary amount of code that’s placed in view controllers, they tend to become rather bloated. It’s not unheard of in iOS to have view controllers that stretch to thousands and thousands of lines of code. These bulging pieces of your app weigh it down: massive view controllers are difficult to maintain (because of their sheer size), contain dozens of properties that make their state hard to manage, and conform to many protocols which mixes that protocol response code with controller logic.
Massive view controllers are difficult to test, either manually or with unit tests, because they have so many possible states. Breaking your code up into smaller, more bite-sized pieces is typically a very good thing.

Missing Network Logic

The definition of MVC – the one that Apple uses – states that all objects can be classified as either a model, a view, or a controller. All of ‘em. So where do you put network code? Where does the code to communicate with an API live?
You can try to be clever and put it in the model objects, but that can get tricky because network calls should be done asynchronously, so if a network request outlives the model that owns it, well, it gets complicated. You definitely should not put network code in the view, so that leaves… controllers. This is a bad idea, too, since it contributes to our Massive View Controller problem.
So where, then? MVC simply doesn’t have a place for code that doesn’t fit in within its three components.

Poor Testability

Another big problem with MVC is that it discourages developers from writing unit tests. Since view controllers mix view manipulation logic with business logic, separating out those components for the sake of unit testing becomes a herculean task. A task that many ignore in favour of… just not testing anything.

Introducing MVVM

One issue facing iOS developers is how to deal with major iOS updates for existing projects. More specifically, how to implement UI/UX changes as iOS evolves. Because iOS uses a combined view-controller design, this task can require a greater level of effort than should be necessary. Here’s why: because the view and controller are coupled, an iOS view-controller class will usually contain both UI logic and business logic. This means that changes in the way the view is presented (UI logic) will usually also require changes to business logic within the same view controller class.

Further, as view controller classes implement increasingly complex UI requirements, the amount of business-logic code also tends to grow within the same view controller class. This, is turn, typically results in large, unwieldy, and difficult-to-read view controller classes.

Wouldn’t it be better to have thin, flexible, easy-to-read view controller classes in iOS?

You might have seen this joke on Twitter a while back:
“iOS Architecture, where MVC stands for Massive View Controller” via Colin Campbell


The MVVM Design Pattern

The “Model-View ViewModel” design pattern, or “MVVM”, is similar to the MVC as implemented in iOS, but provides better decoupling of the UI and business logic. This decoupling results in thin, flexible, and easy-to-read view controller classes in iOS.  

MVVM also provides better encapsulation. Business logic and workflows are contained almost exclusively in the viewModel (referred to as the view manager in the example project). The view/view controllers concern themselves only with the UI and know little, if anything, about  the business logic and work flow in the viewModel.

MVVM is built around three fundamental parts: data model, view/view-controller, and viewModel:


1) Data Model
Just like in the MVC design pattern, the MVVM data model is a class that declares properties for managing business data. For instance, a banking app would need to manage user account data like account balances, transaction history, etc. These data objects are declared in the model as class properties with appropriate getters and setters.

2) ViewModel
The viewModel is at the heart of the MVVM design pattern and provides the connection between the business logic and the view/view controller. The view (UI) responds to user input by passing input data (defined by the model) to the viewModel. In turn, the viewModel evaluates the input data and responds with an appropriate UI presentation according business logic workflow.
The viewModel then is the hub of activity in the MVVM design, acting as an intelligent traffic control center for the model, business logic, workflow, and view/view-controller.

3) View/View Controller
The view/view controller is the context (i.e. the view controller class) that presents user interface elements. As mentioned above, in iOS the view/view controller is usually coupled to business logic within a view controller class.
Conversely, in MVVM, the view/view controller contains little or no business logic and is primarily responding to the viewModel to configure and present UI elements (e.g. table views, buttons, etc.)

MVVM comes from Microsoft, but don’t hold that against it. MVVM is very similar to MVC. It formalizes the tightly coupled nature of the view and controller and introduces a new component.
Under MVVM, the view and view controller become formally connected; we treat them as one. Views still don’t have references to the model, but neither do controllers. Instead, they reference the view model.

The view model is an excellent place to put validation logic for user input, presentation logic for the view, kick-offs of network requests, and other miscellaneous code. The one thing that does not belong in the view model is any reference to the view itself. The logic in the view model should be just as applicable on iOS as it is on OS X. (In other words, don’t #import UIKit.h in your view models and you’ll be fine.)


Since presentation logic – like mapping a model value to a formatted string – belong in the view model, view controllers themselves become far, far less bloated. The best part is that when you’re starting off using MVVM, you can place only a little bit of logic in your view models, and migrate more of it over to them as you become more comfortable with the paradigm.

iOS apps written using MVVM are highly testable; since the view model contains all the presentation logic and doesn’t reference the view, it can be fully tested programmatically. The numerous hacks involved in testing Core Data models notwithstanding, apps written using MVVM can be fully unit tested.

The results of using MVVM, in my experience, is a slight increase in the total amount of code, but an overall decrease in code complexity. A worthwhile tradeoff.

If you look again at the MVVM diagram, you’ll notice that I’ve used the ambiguous verbs “notify” and “update”, but haven’t specified how to do that. You could use KVO, like with MVC, but that can quickly become unmanageable. In practice, using ReactiveCocoa is a great way to glue all the moving pieces together.

To know more about it with an Example, here you will find the source code.

Coding difference between MVC & MVVM

Below screenshot is for OLD MVC pattern. 


Below screenshot for MVVM pattern (Compare viewDidload of both)


Below Screenshot for View model Class



Practical Considerations

As we've seen, MVVM as a design pattern in iOS is useful and yields many benefits. However, as with any design, care must be taken to understand the limitations and the appropriate implementation in any given project or project feature. Complex project features with a small number of views may not realize the same benefits of MVVM that a larger feature with many repetitive views would. Each developer must think carefully about the best design pattern for any given project. Hopefully you will find MVVM a useful approach in your latest iOS project.

Happy coding :)



Saturday, 27 December 2014

Subclass, Category and Extensions in Objective C

Hi guys, hope you find the articles i have posted before, interesting and useful. I always welcome your feedback to make the future articles more interesting.Today lets see what is subclassing, categories and extensions in Objective C, and where, when and how to use these concepts.

1) Subclass in Objective C

Every object you create in your Cocoa application descends from the 'NSObject' foundation class. The NSObject class identifies properties and methods which apply to all objects. The NSObject class is divided into smaller groups of objects, called subclasses. Objects in these subclasses not only conform to the protocol of NSObject, they are also defined more precisely by the methods that govern their subclass. Every object class inherits from the superclasses above it in the object hierarchy, and also declares the methods which make it a unique class.
Subclassing in simple words is changing the behaviour of properties or methods of an existing class or in other words subclassing is inheriting a class and modifying the methods or properties of super class however you want. Additionally subclassing lets you add state. when subclassing, (sometimes you intently need to override the existing behavior/methods or you can add extra functionality too.) you explicitly declare that Object with the type like
MyCustomString *string;
and then all the methods written in your subclass become visible.

2) Categories in Objective C

An Objective C category provide the ability to add functionality to an object without subclassing or changing the actual object. Categories let  you expand the API of existing classes without changing their type such as NSString or your own custom objects allows you add your own methods to an existing class. Categories are also called as "informal protocols".

Suppose take an example, since Foundation Framework classes such as NSString, NSArray, NSDate etc… doesn’t have any access to modify, you can add your own methods in to these classes by the help of a category.

Consider NSString Class and if suppose we want to add a reverse string method to NSString class, so that in our application at any point of time any NSString object can call this category method and get a reversed string as a result. We can do this as below,

 Usually naming convention for category file is like OriginalClassName+CategoryName 

Ex:  NSString+ReverseNSString                                                                             

Note: in a category you can’t add an instance variable, since methods within a category are added to a class at runtime.


3) Extensions in Objective C

class extension is used to declare additional interface -- methods and properties -- whose implementation contract will be met within the class's primary @implementaiton.
The docs state:
Class extensions are like anonymous categories, except that the methods they declare must be implemented in the main @implementation block for the corresponding class.

Extensions are similar to categories but the need of extension is different. 
  • Class extensions are often used to extend the public interface with additional private methods or properties for use within the implementation of the class. 
  • Extensions can only be added to a class for which you have the source code at compile time (the class is compiled at the same time as the class extension).
  • Extensions will be local to a class file.

The syntax to declare class extension looks like,

@interface ClassName()                                                                                                

@end
since no name is given in the parentheses, class extensions are often referred to as anonymous categoriesUsually people will use extensions to hide private information of a class without exposing them to access from any other class.

Note: Extensions can add instance variables.
Finally the simple point to remember is , Subclassing is better option if you want to customize an existing stuffs or functionalities, and Category is a best option if you want to add additional functionalities to an existing class














Friday, 26 December 2014

Show the world that you can excel at iPhone App Developmen

iPhone has creates immense innovation and excitement not only among the people belonging to the mobile application development industry or iPhone app development specialists and professionals, but also the masses, especially the youngsters who love flaunting this high-end Smartphone.

Why iPhone is in Vogue these days?

Youth are fond of having an iPhone Smartphone not only because it has become a style symbol but also because they love it for the mobile applications. Currently, you will find an app for almost everything. The mobile apps have made many tasks easier and fun due to which there is hype for iPhone and Android OS smartphones.
 

Make money from Mobile application development:

iPhone app development has become a very promising business for the mobile application development professionals. The businesses all over the world are paying heavily to the app developers. If you want to earn a handsome amount of money then it would be better if you start your career in iPhone app development. Do you want to create mobile applications and sell them at Apple's App Store, iTunes, Nokia Store or Google's Play? Of course, it will be time consuming but this will help you earn huge sum of money.
 
Does it require one to be a specialist in mobile application development?

You do not necessarily have to be a specialist in mobile application development, as children are also capable of developing mobile applications. In 2010, Fahma Waluya Rosmansyah a 12 year old Indonesian sixth grader astonished the mobile application development industry by creating a mobile app named ENRICH to help Indonesian children learn English language and basic mathematics skills. Similarly, another 12 year old, Freddie Ann Hodges, who lives in Dallas, Texas, USA, created the "Measure Me" iPhone application to measure her height so that so do not have to use a measuring tape.


How to get started?

First of all, go to Apple's App Store website and browse the various categories, like, business, health and fitness, travel, music, games, social networking, news, education, etc. You can check the applications already available there. You do not want to create something that is similar to the one already there, as it would be a waste of time and energy.

After this you can make a concept regarding what you want the iPhone application to do. Sometimes, we want to perform something that might consume time but we are unable to find a mobile application for it. You can try making it for yourself and then sell it to other on app store and Android Play. You can also note down what sort of iPhone apps your friends are searching for but they end up being disappointed to find none that suit their purpose. This will give you an idea and you can start working on your mobile application development project.


What about Coding?

Well, if you are not familiar with coding then it is better to hire the services of a mobile application development company to get your desire mobile application. You can interview mobile application development expert to find out if he has the skills that are required for the app that you want him to develop for you. There are many well-reputed mobile application development companies that have experienced and highly-skillful team of mobile application developers. You only have to tell the company what sort of mobile app you want and leave the rest on them. They will take away your burden of finding the correct person by handing over your project the developer who is most suitable for your mobile application development project. You can even ask the mobile app developers to test and de-bug your app to ensure that it is flawless. Sometimes, the iPhone app development companies help you in getting the distribution certificate, submitting the app and placing it on the App Store for sale. Indeed, this is a very practicable way to have your own mobile application in the market.