Welcome!

Microservices Expo Authors: TJ Randall, Liz McMillan, Elizabeth White, Pat Romanski, AppDynamics Blog

Related Topics: Microservices Expo, Java IoT, Mobile IoT, Containers Expo Blog, @CloudExpo

Microservices Expo: Article

Write Once Run Anywhere or Cross Platform Mobile Development Tools

Only way out is to use a tool or a framework that can support multiple platforms

To build and maintain applications required to reach out to you customer through Mobile & Smart phone is expensive.

Why? Because of platform proliferation. Because of quick technology obsolescence.  (See this)

Management perception compounds the problem.

Anybody, not intimately familiar with this technical challenge, perceives that the effort of developing a mobile application should be proportional to the size of the screen. In other words, since mobile screen is much smaller than a PC or a Laptop screen, the effort required for developing application should also be proportionately less.

Hence the budget for developing and maintain mobile channel becomes small!

What is the way out?

Only way out is to use a tool or a framework which can support multiple platforms. However, as of today, there isn’t any “one size fit all” tool. There are many tools available in the market – each has its own strength and weakness.

Good news is that most of the tools are available for you to try them out. Some of them are …

Some of them have recently been acquired and their status may change in the near future:

-          PhoneGap by Adobe

-          OpenPlug by Alcatel-Lucent

-          Bedrock (Metismo) by Software AG

So, how do you go about selected the tool which is right for you?

Questions you should ask yourself

  1. Do you really need an installable native application? Why not just stick to a mobile website?
  2. If an installable native application is really needed – which platforms should you target now? One year down the line?
  3. What is the expected life of the application? Will you be ready to scrap it in a couple of years’ time?
  4. If you make a native iPhone application which does not feels like a true iPhone application – would it be acceptable? What about similar Android application?

After you have realistically answered these questions you might decide one of the following paths:

-          Stick to a generic mobile website

-          Build an iPhone application only

-          Native application needs to feel truly like a native application

If so then you need only to look at the first of the five categories of the tool given below.

Five Categories of WORA Tools

  1. Mobile Web: These tools are primarily JavaScript libraries which in combination with suitable HTML 5 and corresponding CSS render you mobile website on different types of devices. Some of these tools can work in conjunction with Hybrid tool and the result can be packaged as a native application. [Here is a comparison of 10 such tools]
  2. Hybrid App: This category of tools provide a platform specific shell application which has the capability of rendering prepackaged HTML pages and extends the HTML capability through APIs which allow access to device specific features. Some of them include libraries to render platform specific UI. [Here is a comparison of 5 such tools]
  3. Visual Tool: They provide a visual interface where elements / widgets are dropped into the screen and the internal application plumbing is taken care by the tool. The resultant (depending on the tool) is either a native application or a mobile website. [Here is a comparison of 5 such tools]
  4. App Generator: In this category you have tools where you write your application in a specific language but the tool translates it into a deployable native application for different platforms. The deployable application may include a runtime engine or a virtual machine. The programming language varies from tool to tool. [Here is a comparison of 6 such tools]
  5. Game Builder: This is similar to the previous category but these tools are primarily targeted for game development. They have much richer UI library and may even have 3D graphics capability. Some of them use special languages like Lua or LiveCode. Their cross-platform capability may extend beyond just mobile devices. [Here is a comparison of 9 such tools]

Have I missed any tool that you think should be in this list?

Next >> Mobile Website Development Tools

Related Articles

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

Microservices Articles
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It’s easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling. To bring about a cultural shift it’s important to share challenges. In simple terms, ensuring that everyone k...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, will discuss how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galer...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...