You constantly hear about applications. Sometimes they are web, sometimes mobile and sometimes even software applications.
By Iffy Kukkoo
15 Feb, 2016
You constantly hear about applications. Sometimes they are web, sometimes mobile and sometimes even software applications. You must have wondered once or twice: are these synonyms, or are they completely unrelated? You don’t want to take part in conversations about apps, without sounding dumb or making a basic mistake? Well, this article goes beyond merely explaining the similarities and the differences between different types of apps. It also attempts to help you choose the right one for your business. While taking into consideration that you might have already made such a choice uninformed.
So, what are you waiting for?
The Internet is widely used as a means of connecting between businesses and customers. Whether you’re subscribing to a newsletter from a website, or submitting an online application form, you’re communicating with an organisation via a web application, or a web app for short. Technically, a web app is an application stored on a remote or client server, its user interface made available through the web browser.
In layman terms, any element of a website which performs a function can be called a web application. Google’s search engine is basically a web app.
Simply put, if you take your web application and tweak the software to run smoothly on a smartphone or a tablet as well, you get your mobile application. However, mobile apps go beyond offering its users the same services they can access from their PC-based applications. They are designed specifically for mobile devices, which means developers always have in mind their advantages and limitations, and modify them so that they can offer much more specific functions. Apple Inc.’s App Store, for example, is very popular among users of iPhones and iPads, since it usually offers thousands of applications specifically for these devices.
Application software includes media players, database programs, word processors, web browsers and spreadsheets. These are all computer programs designed to work in isolation for the benefit of the end user. They perform a group of coordinated tasks, functions or activities. Application software differs from systems software. In fact, the former is dependent on the latter: the operating system and system utilities are specifically developed to provide a platform to application software. Microsoft Word, Microsoft Excel, VLC Media Player, Adobe Photoshop – these are all types of software applications. They perform specific tasks like word processing, spreadsheet processing, and graphics processing, while indirectly interacting with the hardware.
Generally, web apps use HTML for the page layout, CSS for the styling, JavaScript for the functional elements of the front end, and various coding languages for the backend (PHP, Ruby, Node.js).
Each mobile application development platform (e.g. Android, iOS) necessitates its own development process; in turn, each mobile application development platform has its own native programming language: e.g. Java (Android), Objective-C (iOS). When an app is written in the chosen platform’s native programming language, then that app is called a native app. So, a native app developed for a smartphone using Android as its operating system would be built on Java, while a native app intended for an iPhone would be built on Objective-C. Since native aps are written in the same language as the operating system, they run much smoother and better and have access directly to the device’s integral functions like sensors, GPS, graphic processors, camera, etc. In the case of web apps, in general, the browsers’ HTML, JS, and CSS interpreters control the functionality, so they are more limited in their performance.
Finally, there are hybrid apps, which attempt at combining the best of both worlds. They are built with a combination of web technologies like HTML, CSS, and JavaScript, but are hosted inside a native application which utilizes a mobile platform’s WebView. So, while the look and feel is quite similar to the web app, the hybrid app can still access the device’s capabilities, which a mobile website might not be able to. A hybrid app doesn’t look or work very differently from a native app, and most users don’t care how the app was built as long as it works smoothly on their devices. From a developer’s point of view, hybrid apps are the opportunity to target all platforms in one go through the use of a combination of plugins and platform-specific codes.
During the past decade, Ireland has quietly but successfully built its reputation as one of the world’s centres for software excellence. In fact, its digital and technology sector is the fastest growing one, which is great news for other sectors as well, since – well, it’s the 21st century. Ireland’s software industry boasts with young, energetic and skilled workforce, world-leading expertise in areas such as e-learning, finance and telecommunications, and increased government investments in research and development. Award-winning Ireland-based companies such as AppDesign and Armour Interactive are bringing the best in mobile apps to industries all over the globe. In addition, as reported by the Irish Times, Collison Brothers’ payment processing PayPal-competing Stripe has garnered over 56 million in capital venture funding.[1]
Investors in the latest funding round included Sequoia, General Catalyst, Founders Fund, Khosla Ventures and Thrive Capital. They bring the amount of venture funding raised by Stripe to $210 million In September, Stripe was named as one of Apple’s partners for its new ApplePay service, along with Visa and First Data. The company is also powering Facebook’s “Buy” button, as well as an e-commerce feature for Twitter.
These successes have resulted in more and more Irish businesses realizing the importance of user experience. Everyone always knew that it is significant, but now people seem to have realized that it may be nothing short of vital for the success of their business. Users find it extremely frustrating when apps don’t perform in the desired manner; when web pages are slow to load or when a mobile app is not responsive.
Most users, in fact, might not even give an app a second try if it doesn’t work for them the first time. In the fast-moving world of today, and for an impatient generation with short attention span – mistakes are not allowed.
Combining user sensitivity and brand needs is not always an easy task. In fact, business heads often find themselves in a tight spot when it comes to choosing the right way forward. We’re here to help.
Before committing to any strategy, it is important to weigh the technical and the non-technical merits of the platform alternatives available. More often than not, things become clear enough even during these preparatory stages. In fact, one of the most important questions you should ask yourself before even beginning the development cycle is a very simple one: which mobile platforms are the ones mostly used by your prospective customers? Because only if the surveys show that the answer to this question is not specific enough, are you faced with choices. Going the hybrid way is generally the right way in such a case.
Of course, you must never forget to think ahead of the medium through which your application should be distributed. You have the option of using a play store in which case you need to build a mobile app – whether native or hybrid depends on the answer to the first question. If, on the other hand, building a website serves your business needs, a mobile app is not something you need to think about, no matter how many people are using them.
Is it essential that your application needs to support advanced functionality? Are complex graphics going to be an integral part of it? It is important to ensure that look and feel go hand-in-hand with performance. Mobile websites might not be able to satisfy the requirement all by themselves.
As always, deadlines are also a crucial factor. So, do you have enough time to develop native apps which integrate smoothly into respective mobile platforms? Or is quicker delivery across platforms with manageable performance more viable for your business at the moment?
Hybrid apps are once again the way to go if you don’t have enough time. They are sort of a shortcut to deploy web apps as native apps, by wrapping the web app code inside a native framework. While this means that your app is not going to be as perfect as someone else’s native app, the obvious advantage of hybrid apps is the reduction of development costs and time. And sometimes, these are more important than anything else.
The other important aspect that businesses often fail to clearly evaluate is the skill level of their development team. The fundamental thing to understand here is whether your team is technically capable of achieving what you’re aiming for. Plugins used in hybrid apps are often unreliable or dated, in which case, the team needs to be able to either remove the respective feature or develop the plugin independently, in addition to giving you a constant support in the future. If this is not something your team is able to achieve, hiring experienced developers is nothing short of essential.
But, your decision will always be partly a shot in the dark. Since it needs to take the future of the industry into account as well. It’s hard to predict such things, but what we can tell you is that, at the moment, it seems that, especially in terms of responsiveness and speed, next generation mobile phone technology is narrowing the gap between web-based and native apps.
The edge that platforms such as iOS and Android currently have will probably fade over time as web technology continues to improve. As the app market grows for mobile devices and tablets, the total market share will become more fragmented and the one or two platforms we know now may soon be three or four. Interactive television is a brand new medium and surely there will be more. And as technology continues to evolve and grow, multiplatform applications will probably become less and less possible to build.
The jury is still out on the best model for delivery of content and software applications on mobile devices and platforms; it’s only expected, in fact, that each of the options has its own distinct advantages and disadvantages. Various factors such as user experience, time and cost of development, as well as availability of skills, will usually make your choice in your stead.
Hybrid apps are the way to go if you don’t want to overthink things, but native apps can’t be ignored if you’re aiming for high performance. Dedicated and specialized Android and iOS developers, in addition to extra time and funds are necessary if you’re going for a native app, but this may also be obligatory if you want to do away with security issues from the offset. However, hybrid and web apps needn’t be merely a compromise in absence of resources, time and money; a survey of your customer needs may even prove they had been the wisest decision all along.
It all depends on your expectations, really. Hybrid apps offer enough for less, and native apps most for more. There is no cookie-cutter solution. It’s necessary to do your own research and to take into account what you and your business needs at the moment.
Only then you will be able to make a choice. Your choice.
[1] In the meantime, Stripe has gone much further than that: it’s currently ranked #1 on Forbes’ “Cloud 100” list. (August 2017)
Iffy is our exclusive resident technology newshound editor, relentlessly exploring the beauties of the world from a 4th dimensional viewpoint. When not crafting, editing or publishing our IT content, she spends most of her time helping people understand life and its basic principles. You know, the little things around you, that you've failed to grasp each day.
Dee.ie IT blog has updates on IT Consultancy, IT Contractors and Software Development related posts, on how your business can be managed effectively using technology.
Feel free to read more and or reach out to share your thoughts, feelings and input on our articles, our team would love to hear from you!