Web Programming Advice

What most of the web development is doing is using node.js for both the client and the server. That way the code is all javascript and can be shared between the client/server without problems.

You can burst into flames about javascript server programming, because I sure did, but that's what is happening. Even client applications are using HTML/javascript. For example, look at the Atom editor and Visual Studio Code. It is all javascript using Chrome as the runtime environment.

Either way you do it, the backend code can use a simple REST interface. All the popular javascript frameworks have this stuff build in so it's pretty easy. Any server language will have this stuff. Java, Go, python, c, it's all out there.

I did a review of all the crap out there a few months ago, and settled on React and Redux. My buddy who works at Atlassian suggested it. It is large, complicated, and silly, but I don't know enough or care enough about Html/css/javascript to write everything from scratch.

Give node.js a couple weeks. At first you will hate it, but it has it's place.
I'm not sure if I have mentioned this before, but I cannot take node and similar frameworks seriously because there is no compiler. It doesn't tell you that I'm using integer where I should pass an array. It doesn't tell me that I renamed variable I created, but forgot to change where I'm using it (which may be in completely different file/function). This can be huge wast of time when you accidentally make simple mistake which any reasonable compiler will tell you about immediately.
mmozeiko
I'm not sure if I have mentioned this before, but I cannot take node and similar frameworks seriously because there is no compiler. It doesn't tell you that I'm using integer where I should pass an array. It doesn't tell me that I renamed variable I created, but forgot to change where I'm using it (which may be in completely different file/function). This can be huge wast of time when you accidentally make simple mistake which any reasonable compiler will tell you about immediately.


In that case, you'd want to invest some time into learning how TypeScript works, as it was created to address all of those concerns.
Thanks, but no :) I have better things to do than learn how to compile to crappy languages.

Edited by Mārtiņš Možeiko on
timothy.wright
What most of the web development is doing is using node.js for both the client and the server. That way the code is all javascript and can be shared between the client/server without problems.

thats the dream but doesn't happen in practice if you have to support microsoft browsers

i agree that learning html/css/js apis to do all the react/redux-y stuff yourself is a big upfront cost that you can and maybe should avoid. but even a short time spent working with it you'll eventually discover how small the problem they are solving is

Edited by graeme on
My advice. Don't. The "web" as perceived with a browser was invented by a computer scientist as a way to convey scientific research papers around their community quickly. That's all it was meant to do. Then everyone took that very ill-fitting mold, corrupted the browser, and turned it into the most hideously deformed mechanism for tricking people into accepting constant spying on so they could wait for other people's computers to eat their data and render the pretty pictures on their screens that their own computer could have rendered for them instantly.

Write something else. Something that doesn't use HTTP HTML CSS PHP JS Node C# Typescript Coffeescript or anything like it at all.

Also, fixed the title for you. :D :P
k2t0f12d
My advice. Don't.


As someone who works as a web developer I would say listen to this advice.

If you absolutely must get into web dev then stay as far away from PHP as possible to preserve your sanity.
why you gotta toss C# under the bus there!
I strongly disagree. C# is much much more sane. Just don't use ASP.net. Use something sane, like Nancy. You simply cannot compare C# to php.

Edited by Mārtiņš Možeiko on
k2t0f12d
Then everyone took that very ill-fitting mold, corrupted the browser, and turned it into the most hideously deformed mechanism for tricking people into accepting constant spying on so they could wait for other people's computers to eat their data and render the pretty pictures on their screens that their own computer could have rendered for them instantly.


That's more due to corporations, and it's already leaking into native programs (for example: Windows 10). You don't have to follow their lead.

You can use the web's existing (bad) tools to make useful and easily-shareable software for your users. And while native programs have a much higher quality ceiling than the web, most native programs don't exactly reach it. (Sometimes they don't even reach the quality ceiling of the web)

It's not that hard to meet the web's quality ceiling, and when you do that you can provide a good experience for your users (which would still be more wasteful than a good native program, but when you take everything into account (ease-of-access mostly), it's not a horrible trade-off). Hopefully if there are enough high-quality web programs, browser vendors will start raising the quality ceiling by moving in a direction that includes both the web's ease of access and native programs' efficiency (instead of adding a "class" keyword to JavaScript :/ ).

The bottom line is: You don't have to do a bad job if you don't want to.
Whatever you do, avoid Medium.com's javascript scene. It's a total nightmare and I swear it'll make you dumber the longer you're there. My IQ is already down to like 60 as we speak from the amount of times I've gotten sucked in. I gotta spend more time here again to fix it.