I'm mostly an infrastructure + ML person and as my projects are getting ready to have actually decent-looking and operating frontends, I have no idea where to start. It seems like there are so many frameworks and types of stacks and it's all very confusing.
If anyone has suggestions as to what's straightforward and works for them, that'd be great to hear!
IMO the best way to learn new tech is picking a fun project you want to build and just try doing it. Just following tutorials is only good in the beginning. Try following a simple tutorial and try to add some features to it.
If you have never done any web dev, I suggest you forget about frameworks in the beginning. Focus on learning HTML, CSS and then some Javascript (no frameworks). Way too many courses start teaching the latest frameworks and candidates have no fundamentals (my opinion, so take it with a grain of salt). Here is what I will do:
Week 1: Only learn HTML and basic CSS.
Week 2: Advanced CSS
Week 3: Advanced Javascript and possibly jquery library
Week 4: A Backend language like PHP, Python, Ruby or even Javascript/Node. I suggest you go with PHP since it is still the most popularly used language.
Week 5: learn frontend js framework. I would suggest vuejs (sorry react folks, again my opinion)
Week 6: Learn how frontend and backend talk to each other. Databases, REST API etc.
Week 7: Get into a fullstack framework lke Laravel (laracasts.com is an excellent resource). You should now be able to put the various peices of a web app together.
Week 8: Build your first real app with authentication and some other CRUD functionality. I suggest you build an employee management system.
Week 9 :until eternity: Practice, build.
Some resources:
freecodecamp.org
w3schools.com
Here is a good website containing the paths to learn backend or frontend development: https://roadmap.sh/ (the owner keep them updated thanks to github contributions). As a fullstack developer I look at it from time to time to decide which domain I should learn more about to stay relevant.
Here is one stop shop for everything you looking for: https://free-for.dev/
Agreed with the top answer. The most important thing is not the technology or the path to learn or anything.
What's important is to find something that will be so fun to you that you won't be able to stop working on it on evenings.
If jQuery sounds exciting then go for it, or if Vue or React sounds exciting then go for it too.
When it's for side projects, what's important is to be excited 😄
Speaking of side project, you could also have a look at https://www.frenl.com to meet developers/makers/designers, you'll find a lot of cool people willing to help 😊
Hey @WilliXL, I'm in infrastructure as well. Here's my actionable two cents:
Go through Robin Wieruch's "Road to React" book here https://roadtoreact.com/. It's free and only around 200 pages. It's written in a tutorial style, so you'll be coding a real application. You'll come away with a solid understanding of React, but only as long as you go through all the exercises at the end of each chapter.
Once you've finished that, go through "Road to React with Firebase" (also by Robin Wieruch). This will teach you how to create a React app with a Firebase backend. Firebase takes care of user registration, authentication, and database storage (among other things). You can get away with not going through as many exercises since there's a lot of duplicates from "Road to React" and some of the Firebase ones are not as necessary.
This took me around two months to get through, after which I developed https://tibble.io/, which took another two months. I'm not trying to plug my app, but I want to show you that I went from just knowing some basic web dev, to being able to develop an entire React app. I've now got a great base to move onto my next app.
Along the way, you're sure to have questions about the HTML and CSS that you're implementing. I think you already know Google is your best friend here.
Good luck and feel free to message me if you've got any questions :)
Get used to it! The front-end is mostly always churning. The most stable refuge tends to be what consultancies or huge frameworks are using. Churn seems to be faster in the React world than Vue or Angular (since the crazy v1 to v2 jump, at least).
If you're mostly concerned about look and feel, one thing that's unavoidable is learning CSS. Here's a fantastic course on flexbox which has recently become free: https://mastery.games/p/flexbox-zombies
React is pretty straightforward to pick up in the beginning!
There are lot of pieces that you might need along the way... but since React deals with UI at the core, it's relatively intuitive to pick up for somebody who does not have frontend background.
All the best! :-)
I’ll second this. It’s very straightforward to get a static site in React and the learning curve to add dynamic behavior is very gentle.
PS I recommend starting with Nextjs deployed to zeit.co ... I recently built the-ux-mini-course.com on it.
I just started on Codecademy :)
Ok! I'll look into it
This comment was deleted 7 years ago
This comment was deleted 4 years ago
This comment was deleted 6 years ago
Honestly just something that looks presentable and can take log-ins.
Don't implement authentication yourself.
Go with Auth0 or similar. They provide both the infra AND all the login/register forms and would save you a large amount of time.
I have the opposite experience here. Pretty much every time I've used an external login service, including Auth0, it's ended up being considerably more work.
Why? Because you still have to spend time integrating it with the rest of your app, and every new feature you make that touches something related to login, will take more time and effort to integrate with the external service (if it's possible at all!). In my own experience, these features have included magic log-in links, included invites, referral programs, banning accounts, and more.
Just about any introductory book covering a back-end framework (like Rails, Django, Phoenix, etc) will cover building some kind of web app with a reasonable login system. Security concerns are a thing, and you definitely want to follow the well-explored conventions and don't do anything crazy like rolling your own crypto library.
Frameworks are great and libraries are great, but dishing too many things off to 3rd party services is a productivity killer. Also, if they're critical things, then your provider's downtime becomes your downtime. And your provider refactoring or discontinuing their app becomes you refactoring or losing your app!
This comment was deleted 6 years ago
This comment was deleted 6 years ago