6 ms·
You can have my native SDKs when you pry them from my cold, dead fingers. I don't care what you say - I will find a market that I can develop native apps for o
by WayneDB 14y ago
You can have my native SDKs when you pry them from my cold, dead fingers.
I don't care what you say - I will find a market that I can develop native apps for or I will quit being a developer. That is how much I think HTML/CSS/JS suck for front-end development.
The only thing the web's got going for it is the zero-deployment. Everything else about the web (for apps) is stone-age compared to native platforms.
"I can’t help feeling that we might be better just starting over with a totally new spec."
Agree, 100%. I don't want to use a document platform as an application platform. HTML is fine for documents. Let's have something new for apps please. I don't want to type "5 divs" to have a simple 3-column grid layout. I want to type "grid columns=3".
- kunai 14y agoThe proof is in the name: HyperTEXT MARKUP Language HTML is for documents. Some sort of sick, twisted ideology has proclaimed it the all-useful programming language, but I repeat -- HTML is not an all-purpose programming language, the proof is in the name. I want to deal with arrays, strings, pointers, and variables. I want to get down there with the hardware and control it myself. I want to optimize memory myself. I want to do the dirty work because I want control over the computer I'm programming for. Trying to replace C/C++/ObjC/Java/Python with HTML is like trying to replace LaTeX with plain text formatting. It's just way too limited for ~90% of the uses of programmers. Don't get me wrong, HTML is awesome for documents and has come a long way, but it is no application development platform. Not when you have <h1> and <body> tags scattered throughout instead of #include <iostream> #include <string> int main() { using namespace std; cout << "Do you honestly think HTML5 is a replacement for C++?\n"; String x; cin >> x; cin.ignore(); if ( x = "Yes" ) { cout << "You probably work for Google. Get out of here!\n"; } else if ( x = "No" ) { cout << "It's nice to see that we're on the same page here; HTML is a document editing language first and a programming language 50032th.\n"; } return 0; }
- nkerkin 14y agoI can't tell if this is a troll or not, but I'll bite. HTML is not a programming language full-stop. I've heard javascript is pretty decent though
- Turing_Machine 14y agoThe example doesn't compile, either. :-)
- kunai 14y agoIt's not my fault, editing code on the HN submit box is hell. ;)
- WayneDB 14y agoFTA: "Throughout this article I reference HTML5, but I’m actually talking about most of the suite of relevant standards..." I think a lot of people conversationally use the term HTML to mean the same thing.
- nkerkin 14y agoYeah, I agree with you on that. The comment I replied to, not so much...
- WayneDB 14y agoI guess I'm still wondering what specifically you disagree with. You didn't say anything about that; just the wording. I don't think the GP's argument was well stated, but the general sentiment seems clear enough. Anyway, I'm interested to know what your experience is. What kind of apps do you make and how has HTML (the royal, general HTML) worked out vs native kits?
- nkerkin 14y agoI'm sorry, I meant that the comment I replied to didn't seem to imply that HTML meant "suite of relevant standards". HTML/JS/CSS as an application development platform is improving and covers most development needs, social, LOB, SaaS, etc. HTML turns out to be a pretty decent view rendering engine. It's still a bit rough around the edges and won't replace native code in all situations, though, it is a much easier way of targeting and deploying to users across a multitude of platforms. Edit: As for experience, I spent 5 years on native apps, deployed to strictly controlled government Windows environments. Nightmare. Rebuilt same apps in a quarter of the time in HTML/JS/CSS, with far fewer issues. Work on various other Web apps now, couldn't be happier especially with all the tools/libraries/services springing up.
- malandrew 14y agoWhat about the web is stone age and that you would need for web development to be on par with native development? Genuine question here. We're working in this space and we want to know more about what you feel is lacking. We have our ideas on how things can be improved, but we want to hear specifics from developers like yourself.
- WayneDB 14y agoHere are a few big ones: 1. Abstractions that make sense, that are not built up from hacks, but are core to the platform itself. That is my number one peeve about the web. Like I said in my original post, I want to specify "grid columns=3" instead of "div div div div div". 2. Control. When I build a native app, I have several orders of magnitude more control over the resulting product. Compare to the web and being at the mercy of browser manufacturers. I can access memory, files, TCP, UDP, ICMP. I don't have to break my program up into front-end + server if I don't want to. I don't have to use shims to get rounded corners or drop shadows. I can make a program that runs in your "tray" and receives push notifications without having to setup some complicated server-sided hackery to faux-push to the browser. I can make the computer do whatever my user wants, but not only that - I can do it with ease because I'm in control. 3. Choice of programming language. With native, I have a number of viable choices. (I don't care that anybody else thinks Javascript is great. Relatively, it's not...and besides...I want a choice. I want control! I am a solid Js programmer (was doing it 15 years ago and I haven't let it stagnate - I recently ported Node.js core module system to a completely different, non-v8 engine.) 4. Modularity (an important instance of "Abstractions that make sense"). Most native environments allow the developer to easily modularize commonly used artifacts (code, UI components, images, etc) without sacrificing performance. Compare to the web where it's a real PITA to make anything modular CSS, HTML or Javascript without resorting to using other tools that "transpile" down to CSS, HTML or Javascript - at which point I'm not using the web platform anymore, I'm using something else.
- ibudiallo 14y agoSo what do you do when you have a user on Linux and another on Windows? That's right you can't have rounded borders now do you?
- PasserBy2 14y agoFinally, a sane person! I wish there was a light-syntax open-source version of XAML...
- nkerkin 14y agoThere's plenty of js grids out there that allow you to pass in column definitions. You should try out angular.js, you can build your own directives to support expressions like "grid columns=3"
- WayneDB 14y agoRight, but those grids are built up from hacks upon hacks. They are not supported by the platform, except for through indirection.
- nkerkin 14y agoWhy are they hacks? HTML provides a set of well-defined, programmatically accessible, renderable elements which support events. You are free to manipulative them as you see fit. If you want to paint your own controls, you can do that too. It's really not so different from native UI definitions I've used. Due to the different behavior of browsers for handling "native" HTML elements (select lists, radio buttons, etc), I think it's a good thing advanced and opinionated constructs like grids are not built in.