Phonegap
allows access to native features, camera, address book, etc.
has no built-in UI elements, something else is needed for that (JQM for example)
(anything else?)
Phonegap build
allows cross-compiling of an app, it could be sencha, phonegap, etc.
Sencha Touch 2
has UI elements that display natively on each OS
has its own build that allows cross-compiling
can be supplemented with phonegap if access to native features if required?
Is all of this information correct? If not please clarify.
Phonegap (Cordova) essentially generates an app that uses a web browser internally to run a webapp. The webapp that it runs can be made however you wish to make it, with any number of frameworks.
Sencha Touch is just one of those frameworks that can be used. ST can also, however, be used to generate the native apps, but it will not allow as much access to native functionality as packaging your ST app into a Cordova app.
FWIW, it was made public last week that the new version of ST (2.3) will have easier integration with Cordova, allowing a Cordova build using the Sencha Cmd tool.
Related
I needed some inputs on mobile apps.
Query: I have an existing web application on AEM(angularJS is not used). I want to transform the same on Mobile app using AEM6.1
While reading through the documentation section of AEM Apps, I found that the mobile App built on AEM
- works on the terminology and AngularJS framework.
- mobile App has different paths and app structure as compared to AEM web Applications
-since, phonegap has to be used, relative path needs to be different than the same of web application.
I am in a dilemma as If I would be able to convert my existing web app into a mobile App or not. If anyone of you has done some research on this, it would be very helpful.
Thanks in advance!!!
Regards
You can very well convert your AEM desktop application to a mobile app(site should be responsive).
AEM makes use of Cordova (PhoneGap) and ContentSync framework to create apps for both android and iOS. More about how to config ContentSync here. In simple terms, ContentSync packages your application(/content, /apps, /etc,...) based on defined set of configurations and cordova(phonegap) helps you access native phone capabilities and to create the archive file (apk/ipa). There is more than one way to create an app using AEM.
1. Using Cordova CLI :
You setup a cordova project in your filesystem. Then create contentsync configuration for your AEM project. Generate and download the application archive from here. Cordova project you had setup earlier will have the below folder structure.
Place the contents of archive file inside www folder, modify config.xml according your application and initiate build. Using this method, you will require an Apple system to generate .ipa file since it makes use of xcode and windows makes use of npm node js for the initial dev env setup.
2. Using OOTB 'Initiate phonegap build' workflow and AEM cloud config
This is an easy approach and does not require you to setup any cordova project in your system. All you have to do is setup contentsync configuration, add a few properties for the workflow to recognise your project and then trigger the workflow. Follow this.
3. Using Apps console in AEM 6.1
This also makes use of ContentSync underneath. Apps console makes the app very easy to maintain and configure, it also has inbuilt configurations for push notification, deep linking etc. Go through the info here. Refer to the sample geometrixx-outdoors project created in apps console, will help you understand better.
PS: Cordova and phonegap are the same. You can think of Cordova as Linux kernel and PhoneGap as linux distribution.
is it ok to compile a AngularJS+ Ionic app using Phonegap Build or Steroids ?
Or should I use another platform ?
I would like your feedback!
Thanks
To answer your question, yes you can use PhoneGap Build to build your application. We are using it to build our AngularJS + Onsen UI app, but it should also suitable for Ionic. The question isn't really about which front-end techniques you use, whether it is about your other needs such as platform support (PhoneGap Build supports "only" iOS, Android and Windows Phone 8) and plugins needed (again, PhoneGap Build doesn't automatically support every plugin there exists, but ~400 they support should be enough in most of the cases). If there limitations are okay for you, go ahead and try it. It is easy to setup and has quick builds almost out-of-box for your Cordova application.
About Steroids, I can't say anything as haven't used it.
yes you can use PhoneGap Build to build your application on android and window phone but ios you need key Provisioning profile good luck
I am familiar to both Sencha Touch and ExtJs. My next project is web application. I am planning to use Sencha Touch to develop web application, because in sencha touch contains lot of graph components and also touch components events available. Can I use sencha Touch to develop web application?. Please anybody can suggest me. Great appreciate.
The selection of ExtJS or Touch framework is not about web or non-web applications, but about the device you want to run the result on. For desktop, use Ext JS, for mobiles use Sencha Touch.
Both have rich charting.
By web application if you mean HTML client side code your answer will be yes you can.
Sencha touch is by nature HTML based.
For native applications you used builder tools to obtain native ports.
In other words, yes you can develop web applications.
Also (as usual) check out the documentation for both ExtJS and SenchaTouch as they will both describe how to deploy as a web application.
Just a heads up, i've developed on both and Touch Interfaces wouldn't look very good on a web browser, they are designed and optimized for html 5 enabled mobile devices like tablets.
ExtJS however is developed for a desktop web experience, and the components look a lot better on a computer when rendered in an html 5 web page.
I am looking into building an intranet based app which can support different mobile platforms.
I have looked into phonegap, sencha touch and jquery mobile. I am confused as to how the business logic can be incorporated on the client side ? Any input will be appreciated.
Phonegap is just a web browser that has an access to native apis. So you can use more or less any technology that a normal web browser can interpret.
With that in mind, for a business logic you have to general options: 1) create an api somewhere on you server and just make ajax calls from you application and/or 2) use javascript. This is the only language that can be used for business logic inside phonegap (beside the native java, objective-c and etc).
Out of all those mobile frameworks available, I would suggest you to go for Sencha Touch with PhoneGap. The reason I prefer Sencha Touch over Jquery Mobile is that Sencha Touch is far more smoother than JQM when it comes to page transition and navigation. Also, the extensive documentation from Sencha gives you a quick start on building mobile apps for both Android and iOS.
You may use PhoneGap if you would like to access any of the native features like Camera, Contacts etc.,
Here are some useful links:
http://www.sencha.com/learn/touch/
http://www.sencha.com/learn/getting-started-with-sencha-touch-2
http://miamicoder.com/sencha-touch-tutorials/
We are in the process of analyzing the best platform for a Hybrid mobile application. The requirement will be an app that will be available on Android/iPhone/BB devices. On all other decvices, the mobile website can be accessed from the inbuilt browser.
I understand Sencha Touch does cover Android, iPhone and Blackberry devices - which means the mobile website will not be available from the browsers in the other devices (non-webkit browsers like Windows,Palm....)
While Phonegap has the compatibility across different browsers. I'm looking to see what advantages are of using Sencha over Phonegap considering all other features?
The main difference is that PhoneGap is a framework which does not include an inbuilt UI framework. Instead, it just acts as a cross-platform wrapper for the native APIs, exposing you a Javascript based API to access native capabilities. With PhoneGap, you have the option of using pure HTML5, or using a UI framework such as Sencha Touch 2 itself, jQueryMobile, jQTouch, Kendo UI, etc. Sencha Touch on the other hand, is a UI framework, but it does not have the out of the box capability to expose a cross platform JavaScript API for the native capabilities.
From the below statement from you, I suppose you do not plan to access any native APIs in your application, and what you will be writing is a pure mobile web application.
The requirement will be an app that will be available on
Android/iPhone/BB devices. On all other devices, the mobile website
can be accessed from the inbuilt browser.
If that is the case, I don't see any reason to use PhoneGap for your application. You could just write it entirely using Sencha Touch 2, and use it's build and packaging tools to package it for the target platforms.
However, if you are planning to use native APIs, then Sencha Touch 2 alone will not be able to provide you that capability, in which case you should wrap Sencha Touch 2 in a PhoneGap application. Have a look at this video from Sencha Docs regarding this http://docs.sencha.com/touch/2.2.0/#!/video/native-apis-from-touch