AppGyver, An Hybrid App Development
In the world of hybrid mobile apps, the team at AppGyver is doing some innovative work. They recently released Steroids2, their platform for building apps, along with Supersonic, a UI framework rooted in HTML5, AngularJS and web components. With the promise of performant hybrid apps blending HTML5 with native components, I was anxious to tryout AppGyver’s latest offerings.
AppGyver offers two options when building apps, Steroids or Composer. Steroids is a combination of a Command Line Interface (CLI) and a web app to generate, manage, compile and distribute projects. Apps can be setup as single or multi-page (i.e. multiple HTML files). Steroids generates new projects using a boilerplate setup or you can load their “Kitchensink” app which, you guessed it, includes all the bells and whistles from their Supersonic UI framework. From there, using your preferred IDE, you can modify and build on the boilerplate using your own code or loading available web components using a package manager like Bower. Running as a local server, Steroids detects app changes and will reload your app on a device or within a local iOS or Android emulator.
Composer is a completely visual, browser-based tool to bootstrap apps. While it has limitations, it excels at building apps quickly, with virtually no coding experience necessary.
After verifying some dependencies (Node, Git, Xcode), I was able to dive into coding in about 10 minutes.
If you’re fluent in Angular and web components, working with Steroids should feel natural.
For development, I stuck to AppGyver’s getting started tutorials. Not being well versed in Angular, I was limited in my ability to do anything outside the realm of AppGyver’s tutorials, but again, one isn’t forced to use Angular.
After playing with Steroids I decided to give Composer, AppGyver’s visual app builder, a whirl. Composer is intuitive and has a low learning curve. It comes with a library of common UI components such as form elements, images, panels, lists, buttons and the ability to add custom HTML. These components come to life via a visual logic editor where many interaction controls and conditional logic can be configured. One only needs a basic understanding of programming principles to create some relatively complex logic. Composer uses the same data integration tools as Steroids, with the added convenience of binding data to its library of components.
Distribution Made Easy
Using AppGyver’s Scanner app (for iOS and Android), they’ve made it easy to share apps with others. Each app comes with a QR Code accessible via the web. Scan the code and the Scanner app acts as a wrapper to load the app on your device. No need to use Apple’s TestFlight or a service like Crashlytics to distribute pre-release builds to stakeholders, test users or clients.
When you’re ready to push to app stores, AppGyver has also made it a simple process. After entering the necessary information (certificates, icons, splash screen creative, etc.), their cloud based deployment service will generate a build ready to submit to the App Store or Google Play.
Having been a lead strategist and project manager for both native and hybrid app initiatives using numerous frameworks, I believe AppGyver is leading the pack in hybrid app innovation. Notable benefits:
- Data Binding. Steroids’ handling of data integration is impressive. Using the web-based app, Steroids has out-of-the-box support for built.io, Parse or integration with any REST API, all with a point-and-click UI. AppGyver also offers a sandbox data service for bootstrapping your apps.
- Build Distribution. As mentioned earlier, distributing pre-release builds is easy. If you have non-technical test users, you’ll have them setup and running in no time.
- Not just a framework or a compiler. Most other hybrid app solutions are either UI frameworks or platforms with a concentration on native API support and compiling. AppGyver is a well-conceived, language-agnostic platform with considerations for UI, data integration, distribution and deployment with considerable support for bolt-in components and plug-ins.
- Native Performance. Hybrid apps are often criticized for lacking both native feel and performance, especially when dealing with transitions between views and animations. I find Steroid apps to be performant and nearly indistinguishable from native. You can see for yourself by looking at their directory of user-submitted apps or via AppGyver’s curated showcase.
- Seamless hand-off between Composer and Steroids. All code generated with Composer is downloadable and conforms with Steroids.
I don’t have a lot of criticism of AppGyver. Where the platform lacks polish it makes up for in functionality. A few thoughts:
- Visual limitations in Composer. If you’re obsessive about visual control, Composer is somewhat limiting. That stated, it’s one of the nicest GUI based apps builders I’ve ever seen.
- Error Handling. Logs are captured via the browser-based management part of Steroids. While presented well, I hope AppGyver concentrates on improving warnings, errors and debug logs to be more developer-friendly and easier to pinpoint why something might not be working.
- Everything is free—for now? AppGyver’s Platform is completely free. They offer add-ons and cloud services for $199 a year, including integration with services such as Facebook, Urban Airship push notifications, Oauth and GPS. Should they need to pivot on their pricing model it may mean the platform ceases to be free or some features will be removed as premium add-ons. Of course, this is the risk of using any free platform.
If you’re fluent in AngularJS or another JS MVC, you’ll feel right at home with AppGyver. If not, Composer is a viable option—either as a way to bootstrap your app idea and finish it off using Steroids, or to build your app idea from concept to finished product. With a short setup time, formidable data handling, easy distribution and native-like performance, there’s no reason not to give AppGyver’s offerings a try.