4 ms·
Ask HN: Best way to get started with Web Development?
Howdy HN,
I'm a non-programmer, and would like to learn programming and build websites. What's the best online way to get started?
Thanks!
- oblib 9y agoThe basics of web programming for websites would be HTML, CSS. Then you need Javascript to do most of the fun stuff. https://www.w3schools.com https://www.w3schools.com is also a pretty good place to begin with for all of those and a great resource to refer to for quick answers for common questions. And I agree with "mtmail" that udemy.com is a great way to learn as well. Once you understand the basics of how html/css work you'll want add some interactivity with Javascript. For example, create a couple buttons that call a "function" to "hide/show" an element on a web page. Typically your first attempt might be an alert box with a border and the message "Hello World!". From there you're really "off to the races" and my advice is to start making something (start simple) and learn on a "want/need to know" basis. Google searches, https://stackoverflow.com https://stackoverflow.com, and w3schools.com are all great resources for finding answers about how to do stuff so don't spend a lot of time banging your head on little syntax issues or "how to do something", do a search and find the answer, implement it, learn from it, and move on. And I also agree that, especially to begin with, you should stay away from "Frameworks" like "Angular" and "React". But you can learn a lot by looking into them and a great place to do that is https://ToDoMVC.com https://ToDoMVC.com. But I do believe it's worth while looking into what you can do with jQuery. jQuery is not really a "framework", it's more a "library" of functions that make it easy to do common things you'll want to do. Lots of them can be done with plain old javascript but jQuery is still widely used and offers a lot. And it's easy to find answers to almost any question you might have about how do to stuff at Stackoverflow. The same can be said for "Bootstrap" (http://getbootstrap.com http://getbootstrap.com). With this you can easily make a "Reactive" website that looks great on desktop PCs, tablets, and phones, and it has a ton of built-in features that you're going to want to use and top notch documentation. After you get familiar with those you'll want to look into server side programming to handle things like forms and connecting to databases. FWIW, I never used PHP and MySQL. I just didn't like the way they worked. Nowadays you have some great alternatives like CouchDB/PouchDB for database chores and javascript templates engines like "Mustache.js" (https://github.com/janl/mustache.js/ https://github.com/janl/mustache.js/) to format and display data. I made a fairly simple "Todo" app using this approach that you can take a look at and hack on. You can play with it at: https://cherrypc.com/todo/ https://cherrypc.com/todo/ There's a brief overview at: https://cherrypc.com/todo/readme.txt https://cherrypc.com/todo/readme.txt And you can grab the code at: https://cherrypc.com/todo.zip https://cherrypc.com/todo.zip. You don't need a web server to use it, just open the index.html file in your web browser. You can also play with a free suite of business apps I've made using those tools at https://cherrypc.com/app/ https://cherrypc.com/app/ Finally, learn by making stuff you want to make and have fun with it!
- OtterCoder 9y agoPlease don't use w3schools. Its information is unreliable at best. The closest thing out there to a user's manual for the modern web is https://developer.mozilla.org https://developer.mozilla.org It's possibly the only reference you need for browser compatible JavaScript.
- oblib 9y agoYeah, I probably should've mentioned mozilla, I go there a lot too. I don't think w3schools is "unreliable" per se. I don't use for learning as much as a reference though and move on fast if I don't like what I find there.
- Something1234 9y agoJQuery is more of a wrapper around document.querySelector/{All}, but for the amount of documentation out there you can't beat it. Also, it has a really good and easy to use ajax interface, which is probably worth using no matter what.
- thepapanoob 9y agojust start... it doesnt matter with what you start... (please be sure to learn Programming and not a framework (like jquery, angular etc) most people learned a framework and are really bad programmers)
- ogennadi 9y agoSeconding this. If you read this introduction to programming in Racket [1] and it clicks with you, then you'll probably have a good time learning programming and subsequently, Web programming. Otherwise, you should probably just sign up for a coding bootcamp for one-on-one mentoring. [1] http://www.ccs.neu.edu/home/matthias/HtDP2e/part_preface.html http://www.ccs.neu.edu/home/matthias/HtDP2e/part_preface.htm...
- mtmail 9y agohttps://www.udemy.com/how-to-become-a-web-developer-from-scratch/ https://www.udemy.com/how-to-become-a-web-developer-from-scr... $15, 25h of video. I admin that was one of the first websearch results for "how to become a web developer" but the best way IMHO is to take such a course/book/tutorial and jump in.
- aaavl2821 9y agoim also a non-programmer who has been learning programming and building websites. ive spent just over a year learning programming part time, and even with uber basic knowledge you can build useful stuff i did CS50 on edx (harvard's intro CS program) which starts with programming basics (in C language) then jumps into web dev with python and javascript. you build 2 or 3 basic web apps as part of the class. after the class you have the tools to really go off and running and make some "real", though basic, web apps. it is a lot of work but a really well taught course with useful and challenging problem sets. i really enjoyed the lectures and problem sets and spent time on them that i otherwise could have spent having fun, just bc i liked them in parallel i also did a codeacademy tutorial on html / css and built some basic static websites for friends. html / css isnt really programming but you can make and deploy basic static websites that are actually useful, and it gives you some experience hosting / deploying stuff on the web just based on these 2 resources im working on building a moderately complex (for a beginner) web app that hopefully will be open for testing this month, am adding a vue front end to my blog as my first experiment with a modern JS framework. the next steps for me are 1) learning about deploying and maintaining small web apps (ive just deployed static sites / JS to date) on heroku or aws or something, really dont know whats best, 2) basics of security (sql injection, xss, xsrf etc) and then ill be comfortable getting users on my app learning about programming has been a lot of fun and led to some interesting side projects
- xstartup 9y agoPlease include the kind of websites you want to build.