-2

I am Objective C developer , Now I also want to make apps for android as well. Suggest what should I have to learn from the following ? which is most appropriate ? * Android development * Xamarine Cross Platform * PhoneGap * Sencha Touch or any other. Thanks

I want to do Xamarine as it also supports windows Phone applications as well is it right for me ? Thanks

jscs
  • 63,694
  • 13
  • 151
  • 195
  • possible duplicate of [Developing cross platform mobile application](http://stackoverflow.com/questions/3369413/developing-cross-platform-mobile-application) – Kenneth Nov 03 '14 at 19:48

1 Answers1

5

You can either use an embedded browser control and write a web app wrapped as a native app, as in Adobe PhoneGap/Cordova or the similar approach taken by Sencha, or you can use a cross-platform tool that creates native apps, such as Xamarin Studio, Appcelerator Titanium, or Embarcardero FireMonkey.

Phonegap allows the widest platform support, but will need to be used with a JS/HTML5 framework such as Sencha Touch or jQuery Mobile, and will generally not be as performant as a truly native app.PhoneGap is not just a native wrapper of a web app. Through the PhoneGap javascript APIs, the "web app" has access to the mobile phone functions such as Geolocation, Accelerometer Camera, Contacts, Database, File system, etc. Basically any function that the mobile phone SDK provides can be "bridged" to the javascript world. On the other hand, a normal web app that runs on the mobile web browser does not have access to most of these functions (security being the primary reason). Therefore, a PhoneGap app is more of a mobile app than a web app. You can certainly use PhoneGap to wrap a web app that does not use any PhoneGap APIs at all, but that is not what PhoneGap was created for.

Titanium does NOT compile your html, css or javascript code into "native bits". They are packaged as resources to the executable bundle, much like an embedded image file. When the application runs, these resources are loaded into a UIWebView control and run there (as javascript, not native bits, of course). There is no such thing as a javascript-to-native-code (or to-objective-c) compiler. This is done the same way in PhoneGap as well. From architectural standpoint, these two frameworks are very similar.

Xamarin Uses native code for developing cross platform application,It will be easy for you and Performance won't be a concern,Native look in the home ground,Good IDE , much like Xcode and visual Studio. But for xamarin you need knowledge about each platform like iOS, Android, WP8 etc.In case of Android, you need not require Java knowledge but you should know about Android Activities, Life Cycles, Classes etc.Has to design the UI of each platform separately this thing is a curse and some times a blessing,if your project have large number screens you have to design the UI of each platform independently that might be time taking. If you have lesser number of screens and more job to do with core like data bases and web services then xamarin will be a good choice.

Sencha Touch is an HTML5 mobile application framework for building web applications that look and feel like native applications. Apps built with Sencha Touch can be used with Apache Cordova/PhoneGap or Sencha’s native packager – either which will package the application in a native container and enable access to select device-level APIs unavailable to traditional web apps.Sencha Touch is an HTML5 mobile application framework for building web applications that look and feel like native applications. Apps built with Sencha Touch can be used with Apache Cordova/PhoneGap or Sencha’s native packager – either which will package the application in a native container and enable access to select device-level APIs unavailable to traditional web apps.But Mobile apps written with Sencha Touch can suffer from the same performance pains as Cordova/PhoneGap apps if developers aren’t disciplined in writing efficient JavaScript and DOM structure.many developers already have established opinions and experience with preferred frameworks for building HTML5/JavaScript/CSS based apps. Sencha’s emphasis on its own stack will be perceived as vendor lock-in.

Adobe AIR is “a cross-operating-system runtime that lets developers combine HTML, JavaScript, Adobe Flash® and Flex technologies, and ActionScript® to deploy rich Internet applications (RIAs) on a broad range of devices including desktop computers, netbooks, tablets, smartphones, and TVs.Adobe AIR has impressive reach – running on a wide array of desktop and mobile devices. In addition, if you plan to have a more involved/animated UI (and don’t plan to use a native approach), using AIR over a HTML/JavaScript/CSS approach may help. But the “elephant in the room” for many mobile developers is the fact that Adobe purchased Nitobi (and the rights to the PhoneGap name), clearly signaling to many that AIR may not be a long term strategy for mobile development. This combined with the rapid decline of Flash erodes the confidence many developers might otherwise have in choosing AIR.

Motorola release RhoStudio is IDE based on Eclipse. Its framework is Free, MIT license, to build B2C applications B2B licensed framework, built on top of rhodes offering support for data encription, barcode scanning, Windows Mobile and Windows CE support. Synchronization and integration framework (need license).hosting of RhoConnect and build server for Rhodes/RhoElements (need license for commercial use),Enterprise app store. (need license for commercial use).

Qt (“Cute”) is a cross-platform development tool that targets a number of embedded, desktop and mobile platforms. Developers write using “QML“, touted as a “CSS & JavaScript like language”, and apps are backed with an extensive set of C++ libraries, and utilize graphics/UI components written in C++.Qt provides a substantial set of libraries containing intuitive APIs for things like threading, networking, animations and more. Qt’s IDE tooling (Qt Creator IDE & Qt Designer) appear to be solid development tools, and code profiling is available in QML Profiler.But Qt’s tools are advertised as a “complete tool chain”, and QML is a proprietary language specific to Qt’s stack. Committing to this approach could be seen by many companies as ‘platform lock-in’, given that most businesses are seeking to re-use existing skill sets when adopting a CPT, not fragment skills further. (The leap from JavaScript to QML may not be as far as a leap from web-based skills to Objective-C, for example – each team just needs to evaluate what it can handle

Apurva Agrawal
  • 259
  • 2
  • 13