Mobile app development tools: A buyer's guide
A collection of articles that takes you from defining technology needs to purchasing options
Purchasing mobile solutions is made complex by the increased support for multiple operating systems, a broad selection of hardware choices and the rapid evolution of the core operating systems themselves. With that said, there are several clear metrics you can leverage when making a choice to buy tools to enable the development of mobility within an enterprise:
- Development environment
- Ease of use
It does not matter if you are building native Android, iOS, or Windows apps or hybrid, cross platform solutions using HTML, these seven touch points will inform your decision as to what mobile app development tool you should buy.
The highest concern for any mobile solution is security. A mobile device is designed to be highly portable, always connected and easy to use. These traits are inherently insecure, which is why security should be a top priority when selecting a mobile application development tool.
Each of the leading mobile operating systems has different controls for enterprise security. The same can be said for hybrid development solutions, each with varying takes on data security.
The ability to implement security into your APIs is another key security feature to look for in development tools. There are two main methods of creating APIs:
The SDKs your company develops with should leverage encryption provided on the mobile OS. Both Apple and Microsoft have provided good enterprise-level encryption for iOS and Windows for many years. It has only been the last couple of years that Google is strengthening its enterprise tools built into Android.
Business logic, data and access to enterprise systems should be managed by the API communication protocol. The most popular is REST, which is natively supported on all leading mobile operating systems. The value for using APIs is that you add an additional layer of protecting your corporate data from being accessed directly by a malicious source.
What is the company size and how many people work on building solutions? The environment you work in will define the type of delivery tools you are looking to implement.
How your company is structured plays a big part into deciding whether to go native or hybrid. Enterprises with large Web teams, for example, would be better off considering a hybrid tool, as those tools use Web technologies and workers' skills are easily transferable. Web solutions don't require learning new programming languages either. The size of your development team could also factor into your decision, as some products are licensed on a per-developer basis.
Some products work best with smaller, more agile companies, and others are built to support larger enterprises. The size of your company is a key factor to consider when looking at mobile app development tools.
As with any purchase being made, cost is a consideration that should be weighed heavily. Mobile application development products have different pricing models: direct licensing fees, component-based, per-user-based, session-based, user-based, pay per app developed and per server. Vendors also offer different tiers of pricing, most offering enterprise-level licenses, while others start out as open source and can be upgraded to enterprise level. The costs of the products have quite a range.
A product's ability to leverage open source tools can also help decide which product you wish to buy. Expanding functionality through open source tools rather than proprietary add-ons can provide significant savings. It may be worthwhile in the long run to pay more up front for a product that will facilitate an open source strategy as time goes by.
As with most other considerations, looking inward at your company and first figuring out the type of product you are releasing, how it will be deployed and to whom can determine which pricing model and cost is best for your company.
Ease of use
A critical decision you need to consider when choosing a tool is ease of use. A tool that gives your team the freedom to start developing solutions quickly is much better than your team being forced to use a tool with excessive integration and configuration issues to figure out first.
Personally, I have been through both scenarios. The first scenario, the development team chose the tools they needed and the leadership supported the purchase. The result was a team using tools they had chosen that led to accelerated development. In the second scenario, the leadership only supported the use of open source tools (in other words, anything that was free). The challenge was integration between the tools. It simply was not there. The result is that projects took much longer to complete and the level of dissatisfaction rose to a point where team members resigned.
Ease of use is a difficult consideration to figure into the buying decision upfront. The allure of cheaper or free tools can be enticing, but if they're not usable or don't integrate well with other tools, the long-term cost can be devastating. On the other hand, buying expensive tools that the team doesn't end up using is an obvious waste of money.
Testing is one of the most important aspects of application development; it must be factored into your buying decision. Some vendors' suites have their own testing tools, such as Xamarin or IBM's Worklight suite. While this is a bonus, what you should be looking for in mobile app development tools is their ability to integrate well with testing environments that have either been built internally or provided by a third party. The product's ability to adjust to new testing tools or updates to existing testing tools are key factors as well.
Is your company the type of company in which the apps that you're building hold sensitive data, or there are restrictions or government regulations that dictate how you build or release an app? Vendors offer on-premises hosting options for such organizations. A lot of vendors have been around before software as a service, so most provide on-premises software along with a cloud option. If the cloud option is their primary product, chances are they'll have an on-premises version as a secondary.
Most vendors have made their products available in the cloud, and most cloud offerings are enterprise-focused. Cloud isn't a one-size-fits-all commodity either. Some cloud offerings can be scaled to fit an organization's size; however, some support larger organizations than others, and some support smaller organizations better than larger ones.
The goal for choosing the tools you will use for building mobile apps is to manage your delivery. The decision behind this is controlled by the core technology you will be targeting. Developing mobile Web apps is different than developing native mobile apps.
Something to consider as your mobile team matures along with the mobile market: You will be delivering a broader selection of solutions for a more mixed technology base. Looking inward at your company and figuring whether you need hybrid technology or a native technology is the first step in selecting a mobile app development tool. The reason for this is driven by the consumer market: devices are getting cheaper and more powerful. The No. 1 barrier for technology -- price -- is essentially being eliminated for the consumer by Google, Microsoft and Apple. The mobile consumer is fickle, jumping from one device to another driven by advanced features and price. This makes the development of enterprise mobile apps much harder to plan for. Using these criteria to help you decide which mobile application development environment is the next step in the selection process and should alleviate some of the difficulty in planning and developing.
How mobile app security and usability work together