Native vs Cross platform development. A quick comparison

Here are some findings about app development courses. 

Mono 

There are few well managed mature software’s like Monotouch for iOS and Monodroid for android,  Appaccelarator, Marmalade( http://www.madewithmarmalade.com )  to develop apps using code reuse strategy and could get some useful benefits like 

  • Business logic code, using the base class libraries
  • Use of existing UI-less .NET components
  • Use of libraries
  • Common device code (ftp, zip unzip libraries, Wi-Fi, network communication, Bluetooth, database and web service that we may need in the future)
  • Separate layers of UI and Business logic 

Mono has all stated above with in few clicks and line of code. Here are some references http://docs.xamarin.com/ios/guides/advanced_topics/assemblies 

Training resources: http://pluralsight.com/training/Courses/TableOfContents/mono-for-android

Price: 30 days unconditional money back guarantee ( https://store.xamarin.com/

App-accelerator 

App-accelerator is good and promising however it uses JavaScript. App-accelerator has a development editor called Titanium it takes JavaScript code, analyzes it, pre-processors conversion according to your targeted platform iOS, Android, Blackberry, Windows

 Training resources: http://training.appcelerator.com/training-resources

Price: Get quote from sales (http://www.appcelerator.com/plans-pricing/)

 Marmalade 

In short marmalade main language development editor uses C++ as a front end then works exactly like mono. Expensive than mono, courses are available.

Training resources: Free tutorials available on their website, they also provide onsite training we can ask for a quote if we are going this route.

Price: http://www.madewithmarmalade.com/buy

All courses mentioned above support cross platform. Here are some pros and cons for cross platform development we may look at.

Pros:

  • Reuseable Codes
  • Easy for Web Developers
  • There is a support for Enterprise and Cloud Services
  • Easy Deployment
  • Reduced Development Costs
  • Ready made Plugins

 Cons:

  • SDK may not support every feature of an iOS or android
  • You may not be able to use your Own Tools
  • Code may Run Slow
  • Screen resolution or orientation may be an issue for android tablets

Native Development 

There may be a long learning curve.

Developing Android Apps with Java (online course)

You have to develop everything in Java from scratch. Most of Java’s example code is available online so you can use to create custom controls.

Price: $99

http://oreilly.com/training/androidapps2/#learn

Developing iOS Apps with XCODE (DVD course)

http://www.lynda.com/iOS-tutorials/iOS-SDK-Essential-Training/92179-2.html

Price: $99

Link

Developing iOS Apps with XCODE

Topics include:

  • Using Xcode and the iOS Simulator
  • Reviewing Objective-C basics and structure
  • Creating objects, variables, properties, and custom classes
  • Connecting UI elements to code
  • Using Delegation
  • Troubleshooting an application
  • Using the Xcode debuggers
  • Creating and customizing table views
  • Introducing blocks
  • Saving and loading data
  • Understanding iPad development
  • Creating iPad apps with popovers and split views
  • Creating application icons and launch images
Link

Developing Android Apps with Java

What will I learn?

  • Use your Java skills to build Android apps with Eclipse and the Android SDK
  • Build a working Twitter application
  • Use advanced features of Android controls
  • Improve your app’s performance with concurrent programming
  • Use 3rd party libraries with Android
  • Access the camera and use photos in your app
  • Make your app look great