What is Cordova and how does it work ?
What is Cordova ?
Cordova ,formerly called as Phone Gap is a platform to build Native Mobile Applicatons using HTML5, CSS and Java Script.
In other words it acts a container for running a web application written in HTML, CSS,JS Typically Web applications cannot use the native device functionality like Camera, GPS, Accelerometer , Contacts etc. . With Cordova we can very much achieve this and package the web application in the devices installer format.
Device installer formats :
Android – .apk (Android Application Package)
IOS – .ipa (iPhone Application Archive)
Windows Phone .xap (Silverlight Application Package)
Are PhoneGap and Apache Cordova different ?
Both are the same . But we can say that Apache Cordova as an engine that powers PhoneGap , like how Webkit is an engine that powers Chrome.
How Does it actually work ?
Technically the User Interface of a Cordova Application is effectively a WebView that occupies the complete screen and runs in the native Container. So , it is the same web view that is used by the Native Operating systems. This purely means that only the Native Containers changes according to the OS and internally the web pages remain the same. (Since the browser rendering of webpages are different for each operating systems)
For IOS it is UIWebView class
Android it is in android.webkit.webview
Windows it is WebViewClass and the similar goes to other OS .
and the Cordova libraries communicate with the Native Framework of the respective OS .
Cool then what device API’s are available ?
This list has that answer
OK , Then – What OS are supported ?
Almost all major platforms are supported . Here’s the list
WOW ! i ‘m loving this . How much does this cost ?
Its absolutely free . Cordova was announced as an Open Source project and will always remain free licensed under Apache License ,Version 2.0
Interesting !!! But my Application Requirement is not completely satisfied with the list of plugins API ‘s available. How should i proceed ?
No problem . It is completely extensible . If cordova does not provide an API to complete your Application requirement , then a custom Native Plugin can be created and used.
What is Kapsel ?
Kapsel is a set of custom plugins developed by SAP underlying the Cordova technology to meet the enterprise requirements like encryption storage,Cache Management, Logon, AuthProxy,fiori client etc and delivered from SMP3.0 (SAP Mobile Platform 3.X ) and integrated with it.
My Good Friends for Developing applications :
1) Chrome Remote Debugging is really a cool feature of chrome to test and debug Mobile Web applications for Android. It helps by a great extent to inspect,analyse and debug browser tabs, web views of Android. (works well from Cordova v 3.3.0 )
2) Mobile Emulation is a unique feature of chrome which reduces the complexity to test the web application on multiple devices and different OS.
3) A New feature The PhoneGap Developer App has been added recently by Cordova , which saves a lot of time in compiling and packaging the Application for testing the changes during development .
Just Download the Native containers as applications for the required OS from PhoneGap Developer App . Open the developed project and start in a local server and specify the IP address of the desktop server in the downloaded application.
Boom!!! when both get paired all the web pages are loaded in the application and can gain the power of the Native Device API s that are nt supported by browsers .
This gives a great power and eases the development with cordova showing the changes instantaneously.
This is a long awaited feature and is now available .
4) Use ConfigApp to quickly create and edit config.xml files used by Cordova apps. ConfiGAP eases the process of changing the app id, icon,app name, manage plugins used in the app, splash screen, permissions of the app, and builds the app specific to device OS.
This tool becomes handy when building custom Fiori Client or building new Kapsel application.
Happy Working with Cordova and Kapsel !!!