These is by far one of the most common questions I get. The media has done its job by instilling the importance of "coding" to prepare for the era of Industry 4.0 and yet, many still does not know what it truly is.
What is Coding?
In layman's term, it means the ability to "speak" to the computer in a way the computer can understand you.
What can you do with coding?
Now that you can "speak" to the computer by coding, you can dabble into things that requires a computer to be involved.
- Internet of Things (IoT)
- Building games
- Data science, machine learning and AI
Each of the above discipline may require some specific knowledge, e.g. data science requires you to know statistics; but no matter what, having the ability to code gives you the first step to venture into any of these disciplines.
At NEXT Academy, we first focus on teaching you how to code. Basically building the fundamentals. Subsequently, we narrow down to building websites, then level up to building apps.
What is the difference between a website and an app?
People often have the misconception that an app is only an app, if you download it from the App Store or Play Store. But do you know that, an app could mean MOBILE app and also WEB app?
While it is easier to classify what a mobile app. Just like what we've said, if you can download it from the App store, it is a MOBILE app.
The short answer would be that, a website is "static" while an app is "dynamic".
For example, if you go to www.nextacademy.com, this is just a website! Everything is just purely "frontend".
But if you go to www.facebook.com, it is a web app! Notice how all your friend's post you see is different from your parent's Facebook post! That's because both you and your parents have different friends list.
Facebook is an app, www.facebook.com is a web app that is powered by a "backend". The Facebook you downloaded from the App Store is a mobile app that is also powered by the same "backend".
What is "Frontend" and "Backend" Web Development?
You might have heard the terms "front end" and "back end" bantered about when people discuss web development. But what do they actually mean?
With just purely "frontend" development, you would just be building a website.
Now, when we say "backend", I love to describe it as similar to the human brain! What can humans do?
- We can store memory and recall memory, essentially a database.
- We can reason and have our own thought processes, essentially, for the backend has specific algorithms for the features we want to build into the app!
There are many programming languages for backend, such as Python, Ruby, Java etc.
In a nutshell:
- Frontend alone = Normal static website, such as www.nextacademy.com
- Frontend + Backend = Web App that can show specific and dynamic information to different people! www.facebook.com
What is the difference between Web App and Mobile App?
We've all use Facebook.
Let's say you have 1 iPhone, 1 Android phone and 1 computer.
To browse Facebook,
- On iPhone: download a Facebook mobile app
- On Android: download a Facebook mobile app
- On computer: go to Google Chrome and type in www.facebook.com to access the web app
There are 3 different interfaces (look and feel) for different platforms, but ALL of them shares the same backend. That's why every friend you add on your iPhone Facebook app would still appear when you go to www.facebook.com.
The only difference between a web app and a mobile app is the interface for users to interact with.
Can I learn to build mobile apps after learning to code web app at NEXT Academy?
Yes, in fact, many of our students, after learning to code web apps, self learn mobile app development.
Web development is one of the most versatile disciplines where it would be easy for you to learn to build native mobile apps or hybrid apps in the future!
Furthermore, new technology has brought forth many advancements.
Today, you can build hybrid apps with web development. You can build progressive web apps (PWA) that uses modern web capabilities to deliver a mobile app-like experience to users.
So long you have strong fundamentals in coding, you would be able to tap into the many different disciplines of programming.
Learning to code is just the start and after that, you can venture into a specific discipline that you like!
80% of our students at NEXT Academy may have started with zero coding knowledge and it's exciting to see what they are doing.
They don't just stop with building websites or web apps, I've seen plenty who are building mobile apps too. Many of them self learned machine learning and combined it with their apps. Some loves hardware and build IoTs that can be remotely controlled with their apps.
We have students who are now business and data analyst who code and build analytic models and dashboards. We have students who are now in the gaming industry.
It is exciting to see what people can do when they have the ability to "speak" to the computer. How about you? What would you do?