Live data from Hacker News

Web Development for Beginners – A Curriculum

github.com

61–70 of 111 posts

Re: Web Development for Beginners – A Curriculum

#61
The purpose of Web browsers is to render HTML. Javascript was an afterthought, to make pages dynamic and allow DOM manipulation. It could be Lua, it could be Python.

As such I would start learning frontend web development with HTML. You can have web development without JS, but you can't have web development without HTML.

Re: Web Development for Beginners – A Curriculum

#62

about JavaScript, CSS, and HTML basics ...and this is where it goes off the rails; teaching JS before HTML is how we will continue to have the ridiculous proliferation of app-sites that shouldn't require a single line of JS instead needing the latest version of $browser (you have a choice of browser - pick one ...) to even show any content at all. Forms don't need any JS to work, yet the impression this gives to begi…

> The agenda is obvious to anyone who cares to look. Alternatively: it's just teaching whatever is popular in the industry, for better or worse (similarly to how DevOps people would be taught Kubernetes, even if it can be horrible in certain cases and for smaller projects). Many sites out there don't need JS. Server side rendering would suffice. And many other sites out there would be well served with minimal JS for…

>Many sites out there don't need JS. Server side rendering would suffice.

But many push towards single page apps even if a web site is better suited for the job. If you only have a hammer in your toolbox...

Also, you can have SPAs without Javascript, you can use any language / framework that targets Web Assembly. I enjoy Blazor for SPA.

Re: Web Development for Beginners – A Curriculum

#63
post #55

Earlier quoted context omitted.

> The agenda is obvious to anyone who cares to look. Alternatively: it's just teaching whatever is popular in the industry, for better or worse (similarly to how DevOps people would be taught Kubernetes, even if it can be horrible in certain cases and for smaller projects). Many sites out there don't need JS. Server side rendering would suffice. And many other sites out there would be well served with minimal JS for…

But to master JS tools you want rock solid fundamentals and know about default behavior, writing clean HTML and CSS. I even teach more about networking and HTTP than JS. They actually want to know: what happens when I type an url into the browser?

While I agree with you that knowing the basics is obviously helpful and desired, in the end what gets you your first job isn't "what happens when I type a URL into the browser".

What gets you your first job is you knowing how to use the tools that the companies already use to ship software solutions on the web. If they use react, webpack, graphql, then your best bet at getting your first job is learning enough about those to be productive in a couple of days at the company, and not what happens after you hit enter in the URL bar.

95% of my work as a regular web/mobile dev was about being able to fetch some data, massage it, display it, then handle user interactions to send something back to the server. Some software dev jobs are more complicated than that, but to be honest, most of what we do it not rocket science.

Once you get your first job, you can work "backwards", and learn the basics. This approach also helps you learn what is important as you see it firsthand that it's important. Your team is there to help you learn, you earn money in the process, you make your customers' life easier, and you build your portfolio and gain experience to get your next job (that will hopefully be more challenging than a CRUD app).

I'm not saying that it's great that you learn the tools before the basics, I'm just saying it makes sense if you want to get a job and pay your bills (and set yourself up for long term success as you learn on someone else's dime.

Re: Web Development for Beginners – A Curriculum

#64
post #55

Earlier quoted context omitted.

But to master JS tools you want rock solid fundamentals and know about default behavior, writing clean HTML and CSS. I even teach more about networking and HTTP than JS. They actually want to know: what happens when I type an url into the browser?

While I agree with you that knowing the basics is obviously helpful and desired, in the end what gets you your first job isn't "what happens when I type a URL into the browser". What gets you your first job is you knowing how to use the tools that the companies already use to ship software solutions on the web. If they use react, webpack, graphql, then your best bet at getting your first job is learning enough about…

To be fair, it is (was?) a typical interview question, so it does get you closer to a job if you know the answer.

Re: Web Development for Beginners – A Curriculum

#65
post #47

I'm an experienced backend developer but always struggled with learning modern web development. I understand all the core well (html, CSS, JavaScript, etc.), but struggle with choosing the right high level abstraction/framework/technology for ideas I want to implement. E.g. should I make it a single page app or not? Should I be using ES6 imports? Which build tool? Would I want React or Vue or something simpler here?…

I despise frontend development as a JavaScript/TypeScript developer. Every recruiter out there wants me to do frontend work.

It just occurred on me when I got onboarded on this team (one of the big tech), majority of them are Python developers, that they can't for the life of me, figure out a simple npm errors. These are really smart senior developers.

In the past, I've always thought "its just frontend, anyone can do it".

Then it dawned on me that my JS/TS frontend experience are actually really valuable. Now I no longer take it for granted.

Re: Web Development for Beginners – A Curriculum

#66

about JavaScript, CSS, and HTML basics ...and this is where it goes off the rails; teaching JS before HTML is how we will continue to have the ridiculous proliferation of app-sites that shouldn't require a single line of JS instead needing the latest version of $browser (you have a choice of browser - pick one ...) to even show any content at all. Forms don't need any JS to work, yet the impression this gives to begi…

This view that you don’t need JS and can do most things natively is tired and screams of old timers trying to cling on to the past, when web pages didn’t have rich user interactions and good UX. Sure, you can build forms that perform full page refreshes, but ajax requests offer a better user experience.

Re: Web Development for Beginners – A Curriculum

#68
post #55

Earlier quoted context omitted.

But to master JS tools you want rock solid fundamentals and know about default behavior, writing clean HTML and CSS. I even teach more about networking and HTTP than JS. They actually want to know: what happens when I type an url into the browser?

While I agree with you that knowing the basics is obviously helpful and desired, in the end what gets you your first job isn't "what happens when I type a URL into the browser". What gets you your first job is you knowing how to use the tools that the companies already use to ship software solutions on the web. If they use react, webpack, graphql, then your best bet at getting your first job is learning enough about…

Indeed. An interview for a first job is not the place to rant on some pet peeve you've picked up via Hacker News.

Re: Web Development for Beginners – A Curriculum

#69
post #66

about JavaScript, CSS, and HTML basics ...and this is where it goes off the rails; teaching JS before HTML is how we will continue to have the ridiculous proliferation of app-sites that shouldn't require a single line of JS instead needing the latest version of $browser (you have a choice of browser - pick one ...) to even show any content at all. Forms don't need any JS to work, yet the impression this gives to begi…

This view that you don’t need JS and can do most things natively is tired and screams of old timers trying to cling on to the past, when web pages didn’t have rich user interactions and good UX. Sure, you can build forms that perform full page refreshes, but ajax requests offer a better user experience.

Native dropdowns have much (much!) better UX and accessibility than most custom dropdowns built with JavaScript. Same goes for native form validation. And there are many more examples. Using JavaScript does not necessarily improve UX.

Use the platform where it makes sense. Extend it with JavaScript where needed. Make it work for everybody and make it better for capable browsers. That is called progressive enhancement. OP did not say that you may never use JavaScript. Just be mindful about it when you do.

Re: Web Development for Beginners – A Curriculum

#70
post #32

Its probably just me but I guess I teach web dev professionally so I might as well say that I was really excited to see something like this for free from Microsoft but confused to see so much time spent on a canvas app and backend functionality seemingly crammed into the last few sections somehow. I guess it's fine to just have a frontend curriculum but just confused at why this is noteworthy maybe. Im sure this is a…

Teaching React would introduce people to something out of FB, but teaching Vue they might. Although it is an Open Source project. If they had an MS clone of it, it would have been in this course for sure.

I guess they wanted to have something fun and thought making games is a nice idea, for which they needed a canvas, so they put it in there.

The whole course structure does not necessarily seem to be aiming at the most solid teaching principles.

Post reply on HN