cross-platform development

Cross-Platform Mobile Development

493 VIEWS

The big players in the tech scene (Facebook, Google, Amazon, etc) embraced the “mobile first” paradigm for UX design and software development quite some time ago. However, small and middle-size companies are far behind. They still take the traditional approach. First, they develop their applications for desktop browsers. Next, they stretch all their resources to develop an iOS version. And then, if they are lucky enough to live that long, they develop the Android app—and at the end of the day, their business struggles.

One of the reasons for the sequential approach is development cost. Big companies have no problem throwing away tens of thousands of dollars to develop on all the platforms simultaneously. Small companies don’t have this luxury.

The answer to this problem is cross-platform development: Write once, and run on multiple platforms. Fortunately, the market for cross-platform development has begun to take off. Today, the number of existing cross-platform mobile frameworks is impressive. The challenge, however, is to find a good framework that suits your company’s needs.

Cross-platform frameworks differ by their license cost, underlying technology, general approach to the implementation model, learning curve, and many other factors. To choose the right framework, you have to define what factors are most important to your company and evaluate the framework against these factors. Here are some examples of factors to be considered:

Cost

For a small or medium-size company, the most important thing to be aware of is license cost. Cross-platform frameworks can be divided into three categories in regard to their cost: proprietary license, proprietary license with free components, and open source license.

There is a wide variety of proprietary license models. Some of them will charge you for a number of applications, others for the number of users or number of developers using the framework. More esoteric ones will even charge you for an amount of downloads or number of times your webpage is accessed. The size of cloud storage differs as well, along with possible additional costs.

In short, license models are very different and complicated. At first glance, a license might look cheap, but deeper analysis could show very substantial cost. The same applies to partially free license models. “Free” parts are usually not enough to develop professional applications, and additional purchases quickly add up to sufficient license expenses. Therefore, when evaluating paid frameworks, make sure to calculate charges very carefully and take into consideration all the costs associated with licensing.

For open-source frameworks, read the license agreement carefully, and make sure the way you use the framework complies with the agreement.

Underlying technology

Make sure that the technology a framework is using is not outdated, and that it allows you to create well-performing, contemporary-looking applications. If you are not a technical person, this part might be tricky. You’ll need to rely on the opinion of your technical staff.

Supported platforms

Different cross-platform frameworks support different platforms. Some of them support only mobile (iOS, Android, and in some cases, Windows mobileOS). Other support both mobile and desktop browsers. Make sure your choice suits your business needs.

Application types

There are different types of mobile applications: native, hybrid and mobile websites.

Native applications use a wide variety of native UI components and native features that create rich experiences that users expect to get from quality mobile applications.

Mobile web sites are websites adapted to run in mobile browsers, i.e. on a small screen. If you already have a desktop website or desktop web application, making your website mobile-friendly is probably the shortest way to expand to the app market. The user experience, however, will not be as rich as with a native app.

Hybrid applications lie between native apps and mobile websites. Hybrid applications allow you to package your mobile website in app format with the use of some native UI features (push notifications, alerts, use of camera, etc).

Depending on the supported application type, a framework would use different programming language. Hybrid and mobile browser applications use different incarnations of JavaScript, HTML, or other web technologies. Native applications usually use Java, C#, or other object-oriented language.

Depending on your technical team’s skills, these factors should be considered, as they will define your team’s learning curve, as well as how soon your team can be effective when implementing your application.

Conclusion

Cross-platform development is the cheapest way to get your business application up and running on all existing platforms simultaneously. However, it is not a decision to be taken lightly. Define your application requirements, financial priorities, timeline, and your team’s technical skills. Based on these, define your framework evaluation criteria. Then, choose three or four different frameworks and evaluate them against your criteria. Good luck!

Do you think you can beat this Sweet post?

If so, you may have what it takes to become a Sweetcode contributor... Learn More.

Nadia Minaev is very experienced software engineer. She has expertise in a number of technologies. Throughout her career she worked for such well known technology leaders as HP, Intel and others. Her current interests are in mobile development. She is a Founder of Alkon Technologies, software development company.


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu