The Technology Behind the Best Hybrid Apps

best hybrid apps

Gartner has predicted that by 2016 more than 50 percent of mobile apps deployed will be hybrid. Hybrid apps are cheaper to build, have shorter development turnaround, and are fast enough to meet the majority of companies’ needs. Native still offers a better experience, but a growing market of tools are helping hybrid apps near- or even match!- native performance.

The challenges facing hybrid apps revolve around performance and user experience. Consumers tend to be loyal to their favorite platform, as demonstrated by the popularity of “Android versus iOS” jokes. Hybrid apps in their basic form can’t provide the intuitive navigation users have come to expect from their apps.

Performance is a major concern. Users expect an app to open fully within two seconds, and 80% will stop using an app after three failures. Experts cite poor performance as the leading motivation behind the more than 26% of installed apps which are abandoned after the first use.

Fortunately, modern hybrid frameworks are working to compensate for these structural problems. No single framework has solved all of them (yet), but several have come very close. Here’s a rundown of the best frameworks around for building fast, functional hybrid apps.

Xamarin

Xamarin uses C+ to build cross-platform mobile apps. It creates a platform-specific user interface layer, giving apps the familiar look and feel of their preferred platform.

The unique approach to coding also allows apps built with Xamarin to access specific-device features. Need to use the compass on an iPhone? No problem. Want the accelerometer to track movement on an Android phone? Done. Combine that with the fact that Xamarin is natively compiled and it’s easy to see how it simulates the power of a native app.

Maintenance and development is relatively simple. Developers can share as much as 75% of the code across platforms, which shortens the development cycle.

The downside is that Xamarin isn’t suitable for graphics-intense applications. It also demands a much higher skill level, has limited access to OS libraries, and is slow to support new platform updates. Finding a developer with the experience needed to build good apps with Xamarin may be difficult.

Appcelerator Titanium

Appcelerator Titanium uses common programming languages (JavaScript, HTML5, jQuery, CSS3). Its main selling point is that it dramatically shortens app development timelines. Developers can push out prototypes, get feedback, and adjust more quickly than with other frameworks. It also allows access to device features like camera, accelerometer, compass, microphone, touchscreen, and GPS.

However, the tradeoff for that speed is flexibility and performance. Though it bills itself as a freemium solution the free version is too unstable to use. Developers need to buy upgrades for it to work. Some developers have criticized .

PhoneGap (Cordova)

Companies that prefer a more traditional approach turn to PhoneGap. PhoneGap is an open-source cross-platform framework that lets developers build mobile apps using HTML, CSS and JavaScript.

There are two main advantages to PhoneGap. First, many organizations already have the in-house HTML/ JavaScript experience necessary for PhoneGap apps. Toolkits like JavaScript toolkits like jQuery Mobile, Sencha Touch or Dojox mobile help use those existing skills to develop apps for different mobile devices.

Second, PhoneGap has powerful APIs for accessing device functions. It can access features other basic hybrid frameworks can’t, such as the address book, camera, accelerometer, and more. The enthusiastic PhoneGap community continues to offer support in the form of tutorials, enhancements, and shared case studies for fine-tuning its use.

PhoneGap doesn’t handle background threads well, though. Applications that rely on background threads, particularly those that are analyzing user input as it’s entered, won’t run smoothly. In general the performance surpasses most hybrid frameworks, but performance can still be a little lacking as the app’s complexity grows.

While PhoneGap can approximate a native feel many developers have complained about it taking longer to fine-tune. There’s less code-sharing than solutions like Xamarin, which makes for slightly slower development cycles.

Ionic

Ionic is an HTML5 hybrid mobile framework with AngularJS components. It allows development in HTML, CSS and JavaScript. Ionic is a solid framework with lots of community support. It’s easy to maintain and offers some native features like push notifications. There’s also a huge library of plugins to access native APIs.

On the other hand, Ionic can be slow compared to PhoneGap or Xamarin. In-app execution can lag. Structuring navigation is generally considered unnecessarily complex; the UI router can be hard to maneuver.

Users note that the UI has a distinctly iOS feel. This can be off-putting to those who dislike the iOS format (namely, everyone except iOS users).

Conclusion

Different frameworks work for different solutions. Xamarin best approximates the look and feel of a native app but has high technical expertise requirements. PhoneGap is open source and offers a near-native experience, but has some situational performance limitations. Ionic has a large library of plugins and lots of support, but leans towards one UI style. Appcelerator Titanium has lots of performance flaws but is perfect for rapid prototyping.

For more info on this subject, check out our blog post, Should You Choose Titanium, Xamarin, or Native for Your Next Mobile Application.

If you’re looking for other ways to build a mobile app and going the hybrid route is not one of them, you might want to consider creating a mobile web or native app instead.


Unsure which framework to use for your next app? Contact Concepta for a free consultation!

Request a Consultation

Should You Choose Titanium vs Xamarin vs Native for Your Next Mobile Application?

titanium-vs-xamarin-vs-native

When it comes to mobile app development, there are as many opinions as there are developers. And while no universal “best choice” can be determined in a cross-platform framework comparison, there are several factors that can guide you to the decision that’s right for you.

Here, we’ll address the Titanium vs Xamarin vs Native debate — laying out the pros, cons and subtle differences between each method.

Using Titanium

Titanium is a popular open source tool for cross-platform mobile development in iOS or Android, utilized by new and experienced developers around the world. Known for its rapid prototyping, Titanium assists you in testing and demonstrating the basic idea behind your application.

This is ideal for those working in teams that must collaborate. It is also effective for apps that interact with a web service. However, Titanium is best suited for smaller projects and is not the best choice for complex apps with many features.

Utilizing JavaScript, Titanium makes for a smooth and simple transition from web development to app development.

While your apps will be hybrid, Titanium works to attain a UI that is as close to native as possible.

Using Xamarin

Xamarin has been touted as the go-to tool for those looking to optimize app performance, utilizing its own IDE for development.

It is unique in that it allows for native app development and sever code sharing. With the same API and UI controllers as those used in iOS and Android-specific platforms, Xamarin-built apps are easy to maintain. An obvious downside to Xamarin is its lack of accessibility — it is not an open-source tool like Titanium.

However in 2016, the company announced that Xamarin would be freely available with Visual Studio. Xamarin works efficiently by compiling C# for Android, iOS, and Windows. While more than 60 percent of code is said to be reusable, some developers may not be familiar with .NET and C# — limiting this tool to a subgroup of developers.

Essentially, Xamarin aims to provide the beautiful look and feel of a native app without the extra work.

Choosing Native

For many developers, native mobile apps are the gold standard. Combine a seamless UX, speed and additional features like multi-touch designed directly integrated for a particular device. This is what native apps typically deliver.

Developers choose to go native, either for iOS or Android, because of the undeniably smooth features and flawless UI that results.

However, native app development limits you to one kind of device, meaning that you’ll need to develop more apps if you wish to reach a larger demographic. While hybrid app development with Titanium dramatically reduces the amount of code you’ll need to write, native app codes are only useful for a single operating system.

Teams developing native apps for both iOS and Android would need to know both Objective C and Java languages. Thus if it is important for you to reach both Android and iOS users, developing native apps for each will likely be more time-consuming and costly.

Conclusion

Enterprise mobile app developers must consider their highest priorities to come to a decision. The platform that will best serve the needs of one business will be different from that which serves the needs of another. Developers must first get clear on their target audience, think from the user’s perspective, and only then select the development that makes sense for their project.

If you’re looking for someone to build an app for you or if you still have questions, contact our team at Concepta and we’ll be able to help.

Request a Consultation

How to Build a Mobile Application with Titanium

Building mobile apps can be time consuming, costly and confusing, especially for people new to the technical process of mobile development. Titanium takes these troublesome elements out of the process, letting users create native mobile apps from a single JavaScript code base.

Released in 2008, Titanium was originally intended for the creation of desktop apps. Just one year later, Appcelerator expanded to include support for iPhone and Android apps. This open-source framework gives users a full step-by-step tutorial on how to build a basic sample iPhone or Android app.

From there, users can delve deeper to create, test and measure the performance of more intricate applications.

To use Titanium programming, you must be running one of the following operating systems:

  • OS X 10.9.4 (or later)
  • Windows 7 and 8
  • Linux Ubuntu 12.04 LTS

The Value of Employing JavaScript

Titanium uses JavaScript, an accessible and flexible programming language that allows web developers from around the world to get acquainted with mobile development.

One of the major benefits of Titanium is that over 80 percent of application codes are reused across platforms, thus eliminating the need to learn two separate languages.

The JavaScript interacts with Titanium’s API, giving users UI button icons, text fields and other items. Apps may be run on other platforms with little modification, depending on the complexity of the code. While you may have to rewrite sections of code, Titanium ensures this can be done with minimal effort while avoiding the lengthy and tedious recoding process that would typically be necessary.

Essentially, your JavaScript is compiled into representative symbols within the native code for an iPhone or Android. Not only will you save hours of development time, but your app will look and function better on a variety of mobile devices.

Titanium’s toolkit is designed to assist you in meeting the requirements of major marketplaces like the iTunes App Store and Google Play, while maintaining a native feel regardless of the platform.

Navigating Titanium’s Multifaceted Interface

With the intention of providing a native user interface experience, the Titanium toolkit gives developers the ability to create full-featured apps. You can simply select your monthly plan, create a developer account and log in to start building your app. The Titanium toolkit features the following components:

  • Titanium Studio
  • Titanium SDK
  • Alloy Framework
  • Appcelerator Dashboard
  • Appcelerator Arrow
  • Appcelerator Insights
  • Appcelerator Platform Services

Once inside, developers have instant access to a variety of tools and can obtain those tools which pertain to their operating systems. For example, to develop Android apps, you must first install Android SDK. Once all of your components are in place, you can begin development right away via the Quick Start Guide.

Titanium SDK

A primary component within Titanium programming is Titanium SDK, an Apache software development kit. Developers using Titanium SDK will have access to a variety of unique features — first and foremost, the opportunity to build genuinely native apps — along with social sharing, location-based services, extensibility and more.

Not bound by the native web view that is common in web-based solutions, Titanium allows for deeper platform integration and leveraging of UI components. By rendering web content in a native application, you are improving speed and creating seamless movement within your applications.

Titanium SDK includes a set of Node.js-based utilities and other tools to combine your source code and JavaScript interpreter. Much of this heavy lifting is done automatically through Titanium Studio, leaving you free to focus solely on the construction of your mobile app without the headaches of compatibility issues.

Titanium Studio

Titanium Studio is an interactive design center and work space for developers to experiment and tweak cross-platform apps. It is an IDE (integrated development environment) where users can work specifically on app writing and testing.

The Studio is useful in that it offers a platform configuration tool, which lets developers install native SDKs. With several debugging tools, the Studio gives you the chance to run your app in debug mode and set breakpoints for further examination.

Analytics

Beyond simple app development, Titanium offers analytics that reveal the frequency and platform from which your app is used.

You can enter custom analytics to track more specific details, such as button clicks or other kinds of user behavior, giving you an in-depth understanding of how your app is being received. Developers can also create event funnels, which are custom events that they can track to gain further insight into app flow.

Building a Titanium Community

The number of Titanium-built apps are literally increasing by the minute, along with the communities of developers surrounding the platform. Users now have access to an open marketplace where templates, extensions and modules can be bought and sold.

Appcelerator invites developers to expand Titanium by writing their own codes, and subscribers have access to additional modules through Titanium+Plus.

Overall, Appcelerator has proven itself a growth-oriented platform that continues to broaden to accommodate the needs of the mobile development industry. With over 800,000 developers and more than 400 million devices running Appcelerator apps, it’s clear that Titanium is one of the most trusted platforms for native mobile development in today’s digital landscape.

Did you miss our CTO’s Introduction to Appcelerator’s Titanium? Don’t wait. Click on that link!

Request a Consultation