Spark is Built on Open Standards
No obscure languages or proprietary technologies
• Android is open source and backed by Google and the Open Handset Alliance
• Android is built with Java that many enterprise developers know and use
• Over 80% of mobile devices run Android
• Numerous hardware vendors offer inexpensive Android tablets
• Android allows easier corporate installations and management outside of app stores
• Spark is designed for enterprise applications, not for consumer apps that require cross-platform
• Security risks are reduced using standard company devices assigned to employees
• Device support, training, and purchasing benefit from using a standard platform OS and hardware
• BYOD is not practical for everyone particularly for tablet applications
• Cross-platform UI fidelity with HTML5 is very difficult
• HTML5 apps generally suffer from poor performance
• Facebook and LinkedIn converted their problematic HTML5 apps to native
• Offline functionality is limited with HTML5
• Users expect native platform look-and-feel
• Security is higher with sandboxed native apps
You could… but maybe it doesn’t have all the features you need, or worse have more features than you need that interfere with usability. How flexible is it to customize screen layouts? Is it easy to inject your unique business logic? Can you easily combine content and services from different systems?
Would you rather have a canned app or one customized specifically for YOUR needs… at a lower cost?
Server Features and Benefits
Using proven enterprise technologies
"Thin" mobile client option
Store XML content schemas on server and run business logic and data access via server content handlers.
Benefit: App runtime logic and presentation can dynamically be changed without requiring app re-installs.
Use any servlet container such as Apache Geronimo, Tomcat, JBoss, Jetty, WebSphere, GlassFish, etc.
Benefit: Flexibility to use any commercial or open source application server including Google App Engine.
Java programming language
Server content handlers are written in simple Java code.
Benefit: Java is the most popular server language in enterprises and many backend developers know how to code in it.
Single server endpoint
Spark uses only one server endpoint for requests from mobile clients.
Benefit: Promotes better network security through the use of a single controlled access point going through company firewall.
Secure network messages
Mobile requests can use HTTPS and token based messages.
Benefit: Allows increased security through encryption and access tokens in network messages.
Authentication of login credentials can be done via any corporate source such as Active Directory or LDAP.
Benefit: Flexibility in how users are authenticated and promotes central repository of credentials.
Dynamic security roles
Security on business processes and data elements can be dynamically during user login.
Benefit: Allows very fine-grained control of security rules for a mobile app.
Server load balance
Multiple application servers can be used to provide load balance on mobile requests.
Benefit: Provides greater performance, failover, and scalability of a corporate mobile solution.
Unlike Spark, other toolkits don't provide a prebuilt app architecture to eliminate the complex effort needed to design an app from the ground up.
It can be confusing buying a development tool. Why so many extra options? And am I really improving developer productivity? Spark can simplify efforts at a lower cost for a fully loaded development platform.