Rapid Application Development: Go Native or Go Platform
Monday, August 31, 2015
As our world has increasingly adopted mobile technologies, developers have struggled with ways to meet the often urgent demands of business users.
When iPhone and its iOS were introduced in January 2007, astute software developers certainly took note – but it wasn’t until July 2008 that the mobile app revolution began with the introduction of the App Store in iOS 2. Third-party apps weren’t new to smartphones, not even Apple’s, but the App Store made deploying, browsing and buying them a snap.
Then in April 2010, Apple released the iPad. Again, tablets weren’t new to the market, but Apple managed to make the business world take notice. As employees and executives began to bring smartphones and tablets into the workplace, demand for mobile software soared.
Initially developers turned to custom application development using tools like Xcode, Swift (Apple’s new mobile-centric programming language) and, in keeping with the increasing popularity of Android, Java. In the services world, development firms advertised mobile software development and treated it as a new branch of their practices.
Native mobile development was fine for enterprise-level companies with the budgets, staff and time to support such projects, but as the market matured and the initial enthusiasm for mobile software gave way to practical business concerns, companies have increasingly turned to extending established desktop platforms to mobile devices, rather than native development for their mobile needs.
In tandem with the evolution of the mobile market, nearly every major software platform on the market has developed a viable mobile strategy. From vertical applications to open source, web and proprietary platforms, no software development effort today can maintain relevance by being centered on the desktop alone.
In the confluence of these forces, software development for businesses has evolved to support a device-agnostic strategy: Existing platforms for the desktop have become fully adapted to mobile devices, and it’s become nearly as anachronistic to develop a mobile-only business application as it would be to create a desktop-only version. Pragmatism, as always in business, has driven IT and software teams to find practical solutions that leverage one code base for use on whichever devices are most appropriate.
This is where the FileMaker Platform steps in. The FileMaker Platform, owned by its Apple subsidiary namesake FileMaker Inc., is one of the most under-appreciated technology successes in Silicon Valley, yet in today’s world of mobile development, it offers a relevant and extraordinarily easy way for developers to build mobile apps for businesses.
FileMaker has been around for 30 years and has evolved from a simple database tool to become a robust platform with its own server, script and calculation tools, interface builder and integration APIs. Well-suited for workgroups, it fills the void between desktop software like Excel and enterprise-grade tools built on Oracle or SAP. Its strength lies in its ease of use: A developer can build in hours what might take days or even weeks to create in a traditional programming language.
FileMaker solutions deploy to desktop, mobile and web clients with a single shared codebase. Developers often choose to create device-specific interfaces, but the underlying application, data architecture and business logic all live within one common solution.
It’s certainly not a new concept to code-once, deploy-to-multiple-platforms, but in the case of FileMaker, deployment is a one-step process of publishing an app to an application server. No need to compile or modify solutions for a specific OS or platform. Users work with FileMaker solutions via desktop, mobile and web clients much as they might access a website via browser on a desktop or mobile device. This code-once, deploy-once approach simplifies development effort significantly.
Likewise, FileMaker is not a coding language in the sense that Java or Objective C is a language: It’s a platform and integrated development environment rolled into one. The client and server take care of all network communication, sharing, security and interaction with whatever OS they happen to be on.
Developers create business solutions using interface objects and authoring tools that are configured rather than programmed, while a complete script language is available to manage logical routines and use cases. This established framework within which developers create solutions saves significant time and reduces complexity.
Developers work in FileMaker’s layout mode, place objects on the screen, and attach scripts to buttons and other triggers. The platform supports a robust calculation engine and offers reports and charting objects, database definition, debugging tools, formatting styles and themes, and more.
While FileMaker lacks a native Android client, it does provide a high-fidelity web client that works well for Android users. Its interface is limited to the elements that FileMaker supports natively, such as tab panels, slide controls, pop-up panels, data grids (called portals), list views and others. Animation, for example, isn’t supported – you wouldn’t build a game in FileMaker – but for business applications, FileMaker’s interface components can be combined to offer an almost infinite array of options to developers.
FileMaker also isn’t well suited to support high-performance, large-scale systems: If your application needs to manage thousands of transactions a minute or work with thousands of concurrent users at a time, an enterprise-grade platform will likely be required.
While native development provides complete freedom to developers, this freedom can mean as much as a 10 times increase in the time it takes to develop software. For many businesses, FileMaker’s return on investment is a no-brainer.
Second, as it enters its third decade, FileMaker is a tested platform supported by a mature third-party ecosystem and well-established parent company: A natively developed tool is only as reliable as the team assembled to build it. With FileMaker, an IT team knows what it’s getting and can support the platform. Security and authentication is managed, network connectivity comes out of the box, and the server comes with admin tools, backup capabilities and more. With FileMaker, there’s an established reliability of the platform and ecosystem that a native app can’t necessarily guarantee.
And third, once one FileMaker solution is deployed in an organization, it can build as many solutions as it needs. Once the investment in the platform infrastructure is in place there is little to no incremental cost, aside from licensing, for adding other apps. FileMaker becomes a supported suite of tools that can evolve, grow and change with the business without having to adopt additional infrastructure.
Couple the platform with FileMaker’s ease of development and an organization may leverage its greatest strength: in-house citizen developers. Just as some people become experts in Excel or other business tools, FileMaker developers overwhelmingly come from backgrounds within the business side of their respective industries. A power user can grow to become a novice developer, a novice can become certified and experienced, and so on. FileMaker can help a business learn to fish, so to speak.
For companies looking to support a wide range of business solutions, developed in-house or with third parties, FileMaker offers capabilities that few platforms can. Native development, while flexible and rich, can be time consuming and vary in quality. FileMaker’s steady practicality provides a real alternative and competitive advantage.
Read more: http://www.soliantconsulting.com/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more