|
I am probably in the minority on HN thinking this, and it's a pity that there is no chance of this ever changing, but lets go with it anyway: HTML, CSS and JS are a very bad way to create websites today. It could be worse, but it's bad enough. They were decent once, when we didn't need them to the extent that people are using them today. As others have mentioned, the signs of this problem is when people are writing language X to language Y converters to accomplish the same job, because language Y is detestable. This would be your HTML, CSS and JS. Tools like HAML, SASS and CoffeeScript are a very good sign of this. For myself, there are two things that are really pissing me off: 1) Lack of security by default, 2) Lack of choice in client-side scripting. I am at the whim of JavaScript which is pretty terrible. Of course, there is no hope of anyone producing a browser that offers an API, and a set of languages that can access that API. So it's just JS. That's fucked to me. I have more gripes but I'd like to keep this post short. On the server side, it's easier. We have more choices, because our clients are not tied into a specific server technology; I used to write PHP, but since then I moved on to something that's a lot more thought out for serving webpages. MVC is the ideal for this kind of thing. The server will give the browser what it wants, and this does not concern the customer. On the browser end? We are screwed. There is quite likely nowhere to go. Unfortunately, we have four big companies (Google, Microsoft, Mozilla and Opera) pouring in a lot of money to keep this technology afloat. And it's very sad. These companies should be leading the way, not holding back technology. Very sad. |
The time is ripe for changing the way people use the internet, and I think that is part of what the whole "native app markets" thing is about. The problem with that is multiple platforms - multiple browsers together with their cesspool of languages pale in comparison to the pain of developing for multiple platforms. There have obviously been a lot of attempts to make it easier, but they all sucked in their own way.
It will get better, and we'll have new things to complain about at some point. Until then, developing for the web means cobbling together antiquated standards and forcing them to do things previously unheard of. Which, ultimately, is kind of fun.
EDIT: If anyone else is interested in discussing what a solution could look like, I'd love to chat about it. Would certainly be a very fun (if not extremely ambitious) open source project. (Contact through my profile.)