I love the idea that more and more people are wanting to learn how to “code”. However, there are so many starting points nowadays that it can be pretty overwhelming. What language? Web development? Front-end development? Back-end development? SO MANY OPTIONS!!!
Don’t worry… I have everything figured out for you. Trust me… 😉
Front-end Web Development
When you develop for the front-end you’ll quickly find that you’ll have a mess on your hands and that you’re more than likely reinventing the wheel in a lot of ways. That’s where a framework can help out.
Another benefit of learning a framework for the front-end is that the patterns and the way you’ll work within their guidelines will stay the same no matter if you’re working on a front-end application, back-end application, mobile application or desktop application.
Back-end Web Development
Writing code on the back-end allows you to “bring to life” things on the front-end. What I mean by that is, if you’re not making a static website then chances are you will need to pull and manipulate data before serving it up to a front-end application.
Now that you’ve spent time learning about front-end and back-end development you can then take that knowledge and apply the vast majority of it over to desktop applications.
How? Using something like Electron.
With Electron you can even take one of the frameworks from the front-end and use it to assist you in creating your desktop application. One of my favorites is using Vue.js and the electron-vue boilerplate. The boilerplate has some generators built in that makes setting up an Electron app with Vue.js very easy. I highly recommend it!
You may say to yourself don’t I need to know about how desktop applications are made? I would say it doesn’t hurt to learn the ins and outs, especially when you’re deciding if something like Electron will cover everything you want to do with your application, but it isn’t required. Oftentimes you’ll find yourself working with API’s (like you can create with Node.js) and web servers will take care of most of the heavy lifting.
Since you’re using Electron you have the ability to make your application cross-platform. That means with one code base and some tweaks here and there you can release your application to users who are on Windows, Mac OS, and/or Linux! I don’t know about you but, that’s pretty cool to me…
One of the biggest players in this space is React Native. React Native also allows you to build cross-platform mobile applications as well. With one code base, you can create iOS and Android applications. Just like Electron, you’ll more than likely utilize web API’s and have a hosted remote server take care of the heavy lifting for you.
React and React Native will have some overlap, but they are not entirely the same. React is primarily used for front-end web applications and React Native is what you’ll use when developing for mobile.
So, where/how do you actually get started?
Start small and use the internet. No need to join a boot camp or go back to school. Everything you could possibly want to learn is here… online. I’ll link a few resources that I like to use below.
Udemy courses are always on sale. I honestly don’t know how anyone makes money on there. That’s beside the fact, but you might as well take advantage of their “sale” that is always happening.