Hacker News new | past | comments | ask | show | jobs | submit login

I have this idea for quite some time, but it really manifested after I started using React. I'd like to hear the thoughts of fellow web developers on this.

The whole browser facing side of the web is a mess. I think it's quite similar to C++'s situation. Because we require backwards compatibility, the standard is becoming an unmaintainable mess and the best plan would be to phase out the current browser technology while building something that applies the lessons learned from the current web and build something that is simple and powerful. I think WebGL and WASM would be a good way to start. That way we could build a new browser inside the old browser and once the new browser is stable, we can build the old browser inside the new browser and let it have it well deserved EOL. I'm usually in favour of fixing existing solutions than to start from scratch, but the current web is such a badly engineered mess that it warrants a rebuild.




Java applets were the very first incarnation of WebGL and WASM really.

> to phase out the current browser technology while building something that applies the lessons learned from the current web and build something that is simple and powerful.

Yeah, I do remember couple of HTML/CSS rendering implementations in Java applets so we've been there, seen that.

As of React …

React is a Scottish dance for just being able to get didMount/didUnmount calls on custom elements, that can be accomplished way easier. Yet use of diff algorithms (polynomial complexity, sic!) for just populating DOM is kind of too much …


I read about how Figma (online design tool) basically did indeed end up building a browser inside the browser using WebGL, WASM , etc.

It’s a pretty awesome app.

https://www.figma.com/blog/building-a-professional-design-to...


What are some of the design choices you would make differently than existing browsers?


Ditch CSS and HTML completely and create a sensible layout engine. If you base everything on a low level rendering API, you can basically create your own framework (though you shouldn't need to). Databinding, event handling etc. should be as simple as in Desktop apps, so we don't need to create ham-fisted abstractions á la Angular or React. Make it so that 90% of the websites don't need any additional code (so that you can reasonably ask users for code execution permissions, similar to notifications). Maybe add the option for low level networking so you don't need to create interfaces so you can support mail protocols natively (I'm unsure about this). Make accessibility so simple it becomes the default. Performance should be a no brainer too. Make tracking as hard as possible from the get-go. Keep the specification lean and don't add stuff on corporate whims. Reduce the memory usage of browsers. Since it's based on WASM you can use any language you want. Hopefully this will encourage better programming practices. Because frankly, the current JavaScript framework/NPM/Yarn/Gulp/Bower/whatever environment is just ridiculous.

Most technical issues can realistically be tackled. I doubt you could win against Google et al. on the tracking/code execution stuff.


> Databinding, event handling etc. should be as simple as in Desktop apps

I'm pretty ignorant of how desktop apps work; how simple is it? Are we talking a straight up pub/sub system?


Sorry, just saw this. The problem with angular and react databinding is that it takes away control from developers. A simple pub/sub system can be extended to everything a developer wants, without clumsy hash-key insertion, digest cycles or array reconciliation. I think WPF did it fairly well back in the day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: