Introduction to Web Development (2018)
btholt.github.io
btholt.github.io
I still haven't seen a single, efficient, well-organized standard CSS file in 20 years, so I think I'll stick to the well-proven SCSS/SASS build pipelines that add considerably more upside than downside. If you're a paid professional, there's no excuse to be doing things the "old way" in 2019.
Enjoy!
This. Stuff like this is why the modern web feels so slow and eats absurd amounts of memory. Think how big that is in memory once it's turned into some data structure that can be queried & modified by Javascript, and re-calculated, and consulted again as screen size changes, and so on. And think how much memory has to be allocated to effect that transformation in the first place. And cycles burned actually doing it.
Well, that and no-one cares about shipping massive media files with the initial page anymore (remember thumbnails? Anyone? No?)
And, you know, just all of Javascript.
But still. This is a problem.
I think when your CSS passes short-story length you maybe need to re-evaluate what you're doing. Consider sitting down to write a short story, like a 5,000-10,000 word thing you could sell to a genre mag. It's not all that short. It's a fuckload of text, actually, if you are facing having to write it. That's a lot of CSS. So much any sane person would hate to have to sit down and read it beginning to end. Should be more than enough, even for complex layouts, even for fancy pages, even for responsive. 500K is almost half a Moby Dick, for comparison. There's no possible way your team even knows what most of it does.
http://www.csszengarden.com/220/220.css
None of these satisfy the aforementioned qualities. None of them look better, IMO, then an equivalent SASS/SCSS version that likely make most of these even more readable.
Yes, https://every-layout.dev is eye-opening in terms of taking advantage of the power of CSS and using it as it was intended vs. trying to turn into… something else entirely.
Highly recommended.
From a lot of resources floating around and talking to people interested in getting into web development, I feel that the entry-level tooling and techniques you supposedly need to know has gotten like 10x more complex compared to 10 years ago, whereas I'm not convinced that the majority of people is solving significantly harder problems.
Don't get me wrong, most of the modern tooling and techniques are immensely helpful for aspects that were a massive pain in the past, but they can also create a at least perceived unnecessarily high barrier of entry into the field. E.g. I had absolute beginners asking me questions about problems with their docker setup, errors in their build chain or their confusions with things like redux, etc.
I really appreciate something whittled down to the essentials and building from there.
I don't think you need to worry about the likelihood of anyone doing web development, even (especially) as a student, losing sight of the fact that there are a thousand different ways to do anything and no definitive best practices.
Just wanted to let you all know that the accompanying videos for this are free too[1] (you just have to create an account.)
[1]: https://frontendmasters.com/courses/web-development-v2/
Inside-jokes from the group chat aside, this is very good content. Holy's videos on Frontend Masters[1] are excellent as well.
Maybe a nice opportunity to break people out of the google bubble and give other search engine options
Something like Stackoverflow easy to build these days? What about marketplaces?
I’m still intimidated by webpages when I “Inspect” them with browser tools.
CSS especially looks a mess to me and it puts me off from learning web development.
For example, using your basic HTML/CSS skills, you can create a button. Then, create an input field. Then, put those together in a div and use a few lines of flexbox layout css to arrange the two pieces. Maybe you want something below it, which responds to what you input? Create another div below this input/button div, and then put this whole thing in another div to contain it all.
Try thinking of user interfaces in terms of rows and columns. More complex user interfaces are simply rows of columns of rows of columns! Start with small, basic pieces and put them together.
Not to sound pedantic, but vi is not vim. While vim was designed as vi-improved, instructing users of vi to use vim direction is not going to be a complete match and may cause confusion for those not familiar with it.
You can check yourself with `ls -l $(which vi)` in bash.
Raspbian: [jachee@mmmmpi:~] [23:10:54] ▷ ls -l $(which vi) lrwxrwxrwx 1 root root 20 Sep 3 2016 /usr/bin/vi -> /etc/alternatives/vi
[jachee@mmmmpi:~] [23:11:11] ▷ ls -l /etc/alternatives/vi lrwxrwxrwx 1 root root 18 Sep 9 2016 /etc/alternatives/vi -> /usr/bin/vim.basic
CentOS: [jachee@jachee:~] [00:12:29] > ls -l $(which vi) ls: cannot access alias: No such file or directory ls: cannot access vi='vim': No such file or directory -rwxr-xr-x. 1 root root 2294208 Oct 30 2018 /usr/bin/vim
[jachee@jachee:~] [00:12:53] 2 > which vi alias vi='vim' /usr/bin/vim
Homebrew: [jachee@gyrate:~] [00:14:15] ▷ ls -l $(which vi) lrwxr-xr-x 1 jachee admin 29 Aug 6 11:14 /usr/local/bin/vi -> ../Cellar/vim/8.1.1800/bin/vi
[jachee@gyrate:~] [00:14:28] ▷ ls -l /usr/local/Cellar/vim/8.1.1800/bin/vi lrwxr-xr-x 1 jachee staff 3 Aug 3 12:17 /usr/local/Cellar/vim/8.1.1800/bin/vi -> vim
No-Homebrew Catalina: [jacobachee@jachee-mbp15:~] [00:17:24] ► ls -l $(which vi) lrwxr-xr-x 1 root wheel 3 Nov 19 11:46 /usr/bin/vi -> vim
Edit - for an actually-readable version of the above, see https://gist.github.com/jachee/eaa8610312ebd7723fc76e8d71da7...
Type vim if you mean vim. Even if vi is aliased to vim, it's possible you'll end up in ex compatible mode anyway.