Whenever a business or startup decides to go into the digital market, one of the main dilemmas is this, if they should launch it on a website or on a mobile application.
With more and more people spending most of their time on their mobile phones, is web development still something important for a successful business?
In this segment, we discuss these topics that can answer your burning question:
- is learning mobile development sufficient for your tech business?
- What are the different types of mobile applications?
- Is learning about mobile development good enough?
- What kind of mobile applications will work for your business?
- How do backend processes of mobile application work?
Is learning mobile development sufficient for your tech business?
Reuben: There are a lot of enquiries that come in asking this same thing, “I want to learn how to build a mobile app, but I am not interested to learn full stack development”, so based on your recommendations, what do you recommend these people to do?
Dr Lau Cher Han: Before we dive into the topic of convincing someone if they should learn mobile applications or full stack web applications, it is important for us to understand the different types of mobile applications.
To a layman’s eyes, are you able to differentiate what type of applications there is out there?
Reuben: To a layman’s eyes, there is Apple Apps, which are iOS, and Android apps. Commonly, people who do not know the technical side of it would say that there are these two.
Dr Lau Cher Han: Yes, but what many people don’t realise is that there are many different types of applications, and I will elaborate on the three main ones.
Number one, there are native apps. This is like the ones you mentioned, someone who learned writing apps for Android will only be able to run it on Android. This is about the operating system, in which if you write an app for a specific operating system, such as Android, then it can only run on Android, and it cannot run on iOS.
Number two, there are hybrid apps. Hybrid apps are when we take the same code, and we wrap it in a wrapper, and this wrapper can take the app that we have written for say, Android, and automatically generate codes that can run both on Android and iOS.
Reuben: Do you know any startups or brands in Malaysia that do this?
Dr Lau Cher Han: I do not know any specific names in Malaysia, but I can give you a famous example, which is Facebook. When they first started, back then, they used PhoneGap or Cordova, those are the similar technology to ionic technology that is used now to build hybrid applications.
The characteristic of hybrid applications is often that they are not graphic extensive. For example, for games application, they usually have to use native apps because of the rendering needed.
However, for business applications or applications like Facebook etc, it is not hard to use hybrid apps. When apps like Facebook starts to grow, with their resources, they can always rewrite their codes in different versions.
Hence, most of the startups start with one Hybrid application, just in order to test the market, and use it as their MVP (Minimum Viable Product), as it has a lot of advantages.
Reuben: It takes less time and costs as well right? Because you get to build one application that can be used on two operating systems?
Dr Lau Cher Han: Yes, and you can hire one person to just write for both operating systems.
Reuben: So that is the hybrid applications, using ionic technologies.
Dr Lau Cher Han: Yes.
The last type of applications is web applications. A lot of companies do not have the luxury to build a mobile application, even if it is hybrid applications, because there is a lot of costs involved, and you have to go through a long process of testing. I cannot even remember how many different dimensions, sizes and form factors of just Android phones and some people use it on portrait mode, while some use landscape modes etc. Hence, it will take a lot of time and effort to build a mobile application, especially during the initial stage.
So what many companies will do is to develop a web application that is optimised for Mobile applications, which is called the mobile web application. So these are the 3 types of applications.
But there is something common among these 3 applications that are worth discussing.
Imagine you are able to develop a mobile application already, such as an e-commerce application, and people can browse your product, with a good user interface in which they can enter their orders etc.
But now, how are you going to integrate it with the payment gateway, send an email to the backend system to capture the details and dispatch the order, or even send the customer a push notification etc? How are you able to carry out these processes?
Reuben: Commonly, a lot of people think that it is all done in the mobile app, but now that you mention it, I guess there is a lot of things going behind the scenes. So what are these behind the scenes process?
Dr Lau Cher Han: So this is when full-stack web application comes in.
Whether if you are using Facebook on the mobile application or on desktop, the underlying layer is always the same, in which it is connected to Facebook servers, backends, and retrieving the data from the database. All these is with the use of API (Application Programming Interface), in order to retrieve all these information from the database.
Reuben: What are your thoughts on mobile app builders?
Dr Lau Cher Han: A lot of times, mobile app builders are too focused on front-end development. This is not something wrong, as when you go into specialisation, you can choose to either specialise in the front end or back end.
But why I am saying it is important to learn full stack development is because when there are minor changes needed, you are able to change it on your own without relying on someone else. Also, you will be able to understand how things work on the full spectrum.
For example, one day when your users complain about your app loading so slowly. So the first thing that comes to mind is “oh must be the app builder’s fault”, but sometimes it could be because of the backend and the database running slow.
If you have full stack knowledge, it is easier for you to understand and make tweaks accordingly to improve your app.
Reuben: To sum it up, learning mobile app development is possible, but you will still need some background knowledge on the full stack to supplement with tweaking and edits, revisions, optimisations etc?
Dr Lau Cher Han: Yes, to clarify your question, if you are someone who learns by starting on mobile application development and focus on the front end, but you will not lose anything if you become a full stack developer and learning the full spectrum. Later on, you can always choose your focus, such as 80% on the front end and another 20% on the server and database etc.
I started out as a full stack developer, and I learned how to build websites etc. We all know that eventually, most people will be on mobiles anyway, I can always still learn mobile application development skills to build mobile apps according to the demand.
Should a startup start with a mobile or web application?
Reuben: For startups and businesses who are coming up in the market, let’s say an e-commerce business, would you recommend them to jump into a mobile application, or start out with a web application?
Dr Lau Cher Han: For startup companies, you will need full stack development. You can always build a website and then further optimise it for your mobile applications. From there, you can use that to test your market, such as sending them your URL and asking them to open it on their mobile phones. This could act as the early stage of your idea validation and MVP testing stage.
From there, you can decide, if you really need a fully native app or a hybrid app. But again, if you are doing something not graphic extensive or process heavy, a hybrid app is more than enough.
Reuben: Well, I guess it comes down to a case to case basis, depending what the startup or business sets out to do and what is it about.
For example, a company like Fave, their main focus is on their app, so it really depends on case to case. But again, there is still a need for full stack knowledge in order to build a successful tech startup.
Dr Lau Cher Han: Don’t forget, as a startup, you want to be able to move fast as well. So that why it is key to have knowledge in full stack development.
If you are interested to venture into a tech startup, it would definitely be beneficial for you to understand and learn about full stack development so you can ensure the success of your application from end to end.
To learn full stack development from scratch, we are opening up for new registrations for our Full Stack Development 360 course, and you can find out more information about it here.
As always, if you have more questions about web and mobile development and technologies, feel free to drop us your questions in the comment section below and we will be happy to help.