← Back to context

Comment by Dude2018

9 years ago

Screw new features, using JavaScript and HTML/CSS for apps must die.

The DOM and CSS are good underlying principles. It would be nice if there was an alternative to HTML, like something encoded in JSON.

As to JavaScript, with WebAssembly coming, there may be options in the future.

  • > something encoded in JSON

    Those who do not learn the lessons from XML are doomed to repeat XML.

    The DOM is simply an in-memory representation of an XML structure, and any attempts to populate a DOM with JSON (or YAML or ProtoBuffers or...) will simply re-create XML. CSS is a language for writing XML transformations (i.e. XSLT).

    Of course, we already have JSON versions of schemas, transformations, xpath, namespaces, and incompatible decoders, so perhaps it is already too late for JSON.

    • Honestly, we could have a cleaner XML. There's plenty of cruft there, the language could be easier to parse and navigate. We could also have a cleaner XSLT while keeping it's completeness.

      We could have a better DOM too. It could be more semantic, and more modular. The good thing is that on this one we are moving in the right direction.

      CSS would gain by becoming Turing complete. It also could be aware of runtime values.

      But yes, JSON, YAML, and ProtoBuffers are all worsened versions of it. The good news is that we abandoned SOAP, but at the cost of abandoning service directories too.

  • Flow-oriented markup is meant for documents not GUI.

    • Very much agree with this.

      Having developed many websites and many apps, HTML and CSS are really quite terrible when compared to something like iOS' auto-layout system, or even something like a DockPanel in Xaml (WPF on windows)

      However, you wouldn't want to layout a document in Xaml or auto-layout either. Different strengths for different original purposes.

      Personally I feel like a non-trivial part of why "web apps" (i.e websites pretending to be apps) generally suck comes down to this impedance mismatch

      1 reply →

    • The problem appears when there is only one kind of flow. Otherwise, flow-oriented markup is quite good.