Need advice about which tool to choose?Ask the StackShare community!
PhoneGap vs Sencha Touch: What are the differences?
What is PhoneGap? Easilily create mobile apps using HTML, CSS, and JavaScript. PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.
What is Sencha Touch? The leading mobile web app framework based on HTML5 for amazing mobile apps. Sencha Touch 2, a high-performance HTML5 mobile application framework, is the cornerstone of the Sencha HTML5 platform. Built for enabling world-class user experiences, Sencha Touch 2 is the only framework that enables developers to build fast and impressive apps that work on iOS, Android, BlackBerry, Kindle Fire, and more.
PhoneGap and Sencha Touch can be primarily classified as "Cross-Platform Mobile Development" tools.
Some of the features offered by PhoneGap are:
- Android
- Blackberry
- iOS
On the other hand, Sencha Touch provides the following key features:
- Built on HTML5 Technology- Sencha Touch 2, a high-performance HTML5 mobile application framework, is the cornerstone of the Sencha HTML5 platform.
- Smoother Scrolling and Animations- Sencha Touch 2 provides a user experience unparalleled in HTML5. Fluid Adaptive Layouts- Sencha Touch’s novel layout engine leverages HTML5 in powerful ways to let developers build complex applications that respond, load, and layout in a snap.
- Navigation View- The new Navigation View component makes it easy to make applications that feature beautiful animated transitions between screens as well as providing automatic back button management.
"Javascript" is the top reason why over 44 developers like PhoneGap, while over 7 developers mention "Structured code" as the leading cause for choosing Sencha Touch.
PhoneGap is an open source tool with 4.15K GitHub stars and 974 GitHub forks. Here's a link to PhoneGap's open source repository on GitHub.
Looking for some advice: we are planning to create a hybrid app for both iOS and Android; this app will consume a REST API. We are looking for a tool for this development with the following attributes:
Shallow learning curve; easiness to adopt (all team is new into mobile development, with diverse backgrounds: Java, Python & AngularJS),
Easiness to test (we discarded Angular-based tools already: creating a unit test in Angular we considered time-consuming and low value. At this point of the project, we cannot afford UI testing with Selenium/Appium based tools).
So far, we are not considering any specific capability of the device. Still, in the mid/long term, we would require the usage of GPS (geolocalization) and accelerometer (not sure if it's possible to use it from a hybrid app). Suggest any other tool if you wish.
If your team has a strong background in Python and you want to release some prototype soon, you could try Python and Kivy. Kivy is an open-source, cross-platform Python framework for rapid development of mobile GUIs. It supports both iOS and Android. I have passed a similar situation recently: to start a mobile app with no background in mobile development. Kivy saved me a lot of time. I could develop a prototype and release it faster than I thoght.
To be honest , You need to think these points :
Developer Experience
Tooling
Maintainability
My vote for now is going with React Native with Expo , using Typescript...
With this stack You could follow some patterns and principle that the Java and python programmers are familiar with.
Typescript is a javascript Superset that you can follow Procedural , Functional and OOP approaches and an easy learning curve.
With Expo you need to concern only with the shared layer (Typescript) and the Native ones will be expo responsibility.
Please check Expo.com and try to get started using typescript.
Good performance and with EAS (paid plan) you can create a full CI CD pipeline for your app connected to the stores(Apple and Android).
If you already know how to build web apps, give Capacitor a try. You can think of it like "electron for mobile" in that you can build a web app but access native functionality. Pair it with Ionic if you want a UI kit that is optimized for mobile, or build your own UI from scratch.
A bonus to Capacitor is your app will run without modification on the web as a PWA, iOS, Android, and more.
Other tools have very slow performance. They are usually selected because someone on the team likes Angular, but your customers won't care what framework you're using. They'll just know the app is slow.
I've yet to see a non-native application that I felt performed as well and/or provided the same user experience with Cordova/PhoneGap/Xamarin. Frankly, at best they all seemed like underpowered web applications deployed to a sandbox that ran on a phone. They didn't feel "slick" or "mobile-first" and in some cases the performance was unacceptable. At previous companies, we built a few of these apps at the client's insistence, and in every case, they re-engaged us about 18 months later to re-write the app(s) natively.
We are doing some research on React Native and Flutter, but I am not yet convinced that they can provide the same level of experience and performance as native, though I am trying to keep an open mind.
Proguard
?
ProGuard is the most popular optimizer for Java bytecode. It makes your Java and Android applications up to 90% smaller and up to 20% faster. ProGuard also provides minimal protection against reverse engineering by obfuscating the names of classes, fields and methods.
How to use it inCordova
app?
I didn't find any plugins for it. So I've implemented it by myself and shared it on GitHub.
Feel free to use!
Pros of PhoneGap
- Javascript46
- Backed by Adobe13
- Free11
- Easy and developer friendly9
- Support more platforms6
- It's javascript, html, and css3
- Common code base across all mobile platform2
- Not bound to specific framework1
- Powerful Framework1
- Runs on mobile browser1
- Similar UI across all platform1
- Free easy fast and not buggy in my experience0
Pros of Sencha Touch
- Structured code8
- Mvc5
- PhoneGap intergation5
- Customised Component3
- Rich Charting Components2
- Mobile oriented theme2
- Easy Data Binding2
- Open source1
Sign up to add or upvote prosMake informed product decisions
Cons of PhoneGap
- Never as good as a native app2
- Created for web pages, not for complex Apps1
- Poor user experience1
- Not build for high performance1
- Hard to see1