Create and deliver personalized experiences across digital properties at scale
Build engaging websites with intuitive web content management
Leverage a complete UI toolbox for web, mobile and desktop development
Build, protect and deploy apps across any platform and mobile device
Build mobile apps for iOS, Android and Windows Phone
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
Automate UI, load and performance testing for web, desktop and mobile
Host, deploy and scale Node.js, Java and .NET Core apps on premise or in the cloud
Optimize data integration with high-performance connectivity
Automate decision processes with a no-code business rules engine
Globally scale websites with innovative content management and infrastructure approaches
Content-focused web and mobile solution for empowering marketers
Faster, tailored mobile experiences for any device and data source
UX and app modernization to powerfully navigate today's digital landscape
Fuel agility with ever-ready applications, built in the cloud
In hashing out a cloud solution, you have a lot of choices to make. Assuming you are interested in application development in the cloud, you have options when it comes to where your apps will live as well as the way your users will experience them. On the hosting side of things, there are three basic structures you need to consider: public, private, and hybrid. Similarly, you have three choices concerning the apps themselves. You could build a native app that runs directly on the user’s device, a web app that can be accessed from a web browser wherever your users are, or a hybrid option. What you choose is going to be based on what you want to do, and in some cases, you might want to do all three.
Behind door number one we have web applications. These apps are typically coded in HTML5 and live entirely on the internet. Because of this, they can be accessed from any device with a web browser, be it a PC, laptop, tablet or smartphone. That ease of access translates into convenience for the users and developers alike. For the users, there is no need to take up space on their own devices, no fiddling with downloads and updates, and the knowledge that they will be getting the same experience no matter where they log in. At the same time, developers don’t need to spend time learning the quirks of each device platform so they can work faster and only need to build the app once. Developers can be confident that their web app will work wherever it is accessed from.
Unfortunately, web apps also come with some limitations. They run separately from the device they are being accessed from, and because of that, they may not run as smoothly as a native app or may not be able to leverage the full power or features of the device. An app that needs access to the phone’s camera, for example, would be very difficult to implement in a web app.
Your second option is a native application. Unlike web apps that run on a server somewhere, native apps run directly on the user’s device. They can access all the features of the hardware like the camera, NFC, and integration with other applications. Plus, they usually offer a tighter, more cohesive experience because developers are able to optimize their code and make an interface that matches the visual design of the device. Android apps work the way Android users expect them to, and iOS apps work the way iOS users expect them to.
But native apps have their own problems to overcome. They’re often more difficult to produce and require special knowledge of the platform they are being deployed on. Unlike web apps, where there is a single instance that is accessed by all users, native apps need to have regular updates pushed out through app stores. If users fail to update, fragmentation becomes a problem and supporting multiple versions of an application introduces a host of new complications.
The last option is a hybrid approach. Hybrid applications basically have two parts: a web-based portion written in HTML and a wrapper running natively. With this approach, you are still able to leverage the features of the device through the native portion of the app. The web-based elements may run a bit slower than a fully native app, and may not offer as seamless of an experience, but implementing this option lets you speed up development time by reusing those elements on every platform.
So which option should you choose? It really depends on what you are trying to do. Is it more important that the experience cross-platform is the same, or that the experience is integrated into the device? How important are the features of the device to your app? Depending on the situation, any of the three choices could be a good one. Some cases might even require all three!
Regardless of the option you choose, however, you’ll want to get your apps out fast. This is where a low-code Platform-as-a-Service (PaaS) comes in. A PaaS that includes a low-code visual programming environment like Progress® Pacific™ can drastically reduce your time-to-market by abstracting the more tedious elements of programming into drag-and-drop elements. Plus, a “write once, run anywhere” philosophy makes optimization a breeze no matter if you choose to go the web, native, or hybrid route.
As the senior director of product marketing and strategy for the Progress solutions and audience marketing team, Paul Nashawaty keeps his eyes peeled on what enterprises are doing about big data as it relates to digital transformation. Paul is responsible for applying practical business methodologies using technological solutions to drive success in organizations.
Copyright © 2016, Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.