Trail guide to learn web-development.
After trailing it (as an housing architect), I'm mapping the best path I know to learn web-development.
It might be useful to others doing this lonely journey.
- Installing Javascript (front-end Javascript)
- Installing Node.js (server-side Javascript)
- Learning Javascript
After rambling with several languages 1, beyond HTML+CSS, I chose Javascript and Ruby. Resuming:
- To build a graphical user interface (GUI) for the web browser you must use HTML/CSS directly or indirectly.
- There are specific toolkits to build GUIs for every system but HTML/CSS is eating their marketshare.
-
Pros:
-
Cons:
- javascript is ugly. Coffeescript makes JS more palatable but it's out of fashion and one more language to learn.
- everything changes everyday, terrible for noobs as us.
- slower than native platform languages (Java on Android, Swift on IOS/OSX or .NET on Windows)
-
Pros:
-
Cons:
If you're using a Windows PC (like me), get:
- ConEmu, a nice command line (yes, it's necessary, get used).
- Sublime Text, a fast text editor (it will be your main tool, the developer's autocad.. ).
There are several valid options 3 but for now stick with Sublime.
- Good news: every browser has a HTML+CSS engine already installed. Open any HTML+CSS files and they will render on your browser.
- By being interested in web development, you probably know the basics. Just take a look on Flexbox and you're good to go for now.
As HTML+CSS became more powerful, classic JS libraries like Masonry to improve CSS seem outdated.
- Good news: every browser has a Javascript engine already installed 4! Just click F12 on most browsers and the REPL will open! Or embed a JS file on a HTML file and it will run also.
- Now install Node JS 4. NPM (Node package manager) will also be installed.
- On ConEmu type node. You're on Node.js REPL now. To exit, press Ctrl + d.
- To install a node package, on command line type npm install package-name
- Take a look on Javascript (Learn X in Y minutes) to get an overview of the language.
- Style guide and Xahlee JS course.
- To easily evaluate scripts, do it inside the same directory you keep them.
// On command line navigate to your script's folder. e.g:
> cd desktop/scripts
// Now you can evaluate a JS file directly (you can omit the extension). Just type:
> node expFile
- Now install Ruby.
- On command line (ConEmu) type irb. You're on Ruby REPL now. To exit, press Ctrl + d.
- To install a ruby package (gem), on command line type gem install package-name
- Take a look on Ruby (Learn X in Y minutes) to get an overview of the language.
- Ruby looks good, isn't it? Use this style guide as role model.
- To easily evaluate scripts, do it inside the same directory you keep them.
# On command line navigate to your script's folder. e.g:
> cd desktop/scripts
# Now you can evaluate a ruby file directly. Just type:
> ruby exp_file.rb
-
Pros:
- concise and elegant - this is VERY important for someone with my background.
- opinionated. A bunch of decisions were already made for us. Great for noobs ..
- human readable error messages when something goes wrong!
- allow you to dream with a better world with no unreadable JS ..
-
Cons:
- immature AKA breaking changes and few information about it.
- Elm code is compiled to JS and Elm itself works as a Node.js package. So first install Node JS (if you didn't do it yet) and then Elm with NPM (Node package manager).
- On ConEmu type elm repl. You're on Elm REPL now. To exit, press Ctrl + d.
- Take a look on Elm (Learn X in Y minutes) to get an overview of the language.
- Read the Elm guide (from the language creator).
- Elm looks good, isn't it? Unfortunately there isn't a mature style guide yet. So for now look here, here and here also.
Notes:
1 - Python, Go, Coffeescript and functional programming stuff (Elixir, Elm, Clojure & Lisps, Haskell, Purescript, OCaml, F#, Scala..). ↩
2 - Like Python. ↩
3 - Specially VScode.. but also emacs and vim.↩
4 - Google Chrome and Node use V8 JS engine. ↩