News for hackers. Stuff that matters.
Re:It’s time to kill the web app by mikebenfield on Saturday September 23, 2017 @04:15PM (#15321491)
It's probably not realistic, but I would love to see the web be completely thrown out and replaced with something reasonable.

I write a decent amount of native code. I write Rust, C, and x64 assembly. I think I'm pretty good at this stuff. But the web is too much for me. Any time I think I'd like to do something with the web and sit down to learn, it's completely overwhelming. I've never been able to put together a coherent mental model of the architecture of a web application or figure out what the best practices are for web development. The amount of complexity you have to wade through to get anything done is just silly.

There's the idea floating around that web developers are less competent than programmers on other platforms. I'm only half serious when I say this, but I sometimes wonder if, to the extent that this is true, it's because web developers have so much incidental complexity to deal with that there's just not much brainspace left over for classical CS or software development concepts.

Re:It’s time to kill the web app by krapp on Saturday September 23, 2017 @04:42PM (#15321590)
The thing is, though, the web is reasonable - for its intended purpose, which is displaying and interlinking documents. And despite the complaints, faults and shortcomings, it's even remarkably not as bad as it could be at being an application platform.

Throwing that out because it's less than optimal at a use case it was never intended to serve would be monumentally short-sighted. Just build something else and leave the web be.

Re:It’s time to kill the web app by andrepd on Saturday September 23, 2017 @04:47PM (#15321617)
I think what he meant was "throw out the web as a platform for applications", not as a platform for document distributions.
Re:It’s time to kill the web app by tannhaeuser on Saturday September 23, 2017 @05:04PM (#15321713)
If so I'm in full agreement.

It's truly mind-blowing how much energy has been wasted on trying to shoehorn the web into an app delivery platform over the last decade. To what end? To make the browser a general purpose platform? We have that already, it's called an "operating system".

Edit: that said, I disagree with many points and the general negativity in TFA

Re:It’s time to kill the web app by aperiodic on Saturday September 23, 2017 @05:22PM (#15321804)
It's a great example of worse is better in action: a technically inferior platform winning out because it's better at one or two things that enable virality, which is the only thing that matters when all the money is looking for high growth.

In this case, it's that webapps require zero effort and time from the user to get started with, and allow developers to get the closest to the "write once, run anywhere" dream than anything else (if you're doing a decent responsive design, you can even get a good experience on both desktops and phones with much less effort and no gatekeeping), so the development effort is a lot lower.

These two attributes make it really hard for a native app to compete on growth terms with a webapp, since it has a higher hurdle for users, higher initial development costs to target the same amount of users, and higher iteration costs to ship (and get users to install) a new version. It doesn't matter that it's hilariously inefficient; as long as it's just below the threshold where the user tears their hair out, they're not going to jump ship.

Re:It’s time to kill the web app by vbezhenar on Saturday September 23, 2017 @07:16PM (#15322300)
Also web is open. I don't need Tim Cook's permission to run something. And despite this lack of walled garden, I'm much less likely to get something bad from web, than from app, because web have much better sandbox than app ever will.
Re:It’s time to kill the web app by LnxPrgr3 on Saturday September 23, 2017 @09:10PM (#15322686)
Re:It’s time to kill the web app by tannhaeuser on Saturday September 23, 2017 @05:35PM (#15321869)
True, but I think the push for web apps is mostly about lock-in and ad-financed web services.
Re:It’s time to kill the web app by aperiodic on Sunday September 24, 2017 @02:07AM (#15323542)
How do web-apps help lock-in? Because you can force users to update?
Re:It’s time to kill the web app by tannhaeuser on Sunday September 24, 2017 @03:35AM (#15323748)
Because your data is being held hostage by the service provider. No more grandmas showing photo albums to their grandchildren when Facebook is long gone 30 years from now :'(
Re:It’s time to kill the web app by aperiodic on Tuesday September 26, 2017 @09:05PM (#15344087)
Well, you can easily do this with a native app that relies on content from your servers (e.g. dropbox).
Re:It’s time to kill the web app by tannhaeuser on Thursday September 28, 2017 @01:37AM (#15354898)
But with dropbox and/or alternatives you can always access raw files via the/a file browser. With Fb, OTOH, there was a story some time ago where you only could download photos in downscaled resolutions, or where downloading native resolution files was hidden in obscure option menus.
Re:It’s time to kill the web app by erikpukinskis on Saturday September 23, 2017 @08:16PM (#15322520)
Are you comfortable running arbitrary binaries built by arbitrary people? If not, then I fail to see how an operating system is a sensible general purpose computing platform.

It worked OK when we just wanted to run software written by a handful of trusted parties... Microsoft, Adobe, id Software. But as soon as there were 1000s of companies writing software that we wanted to try, running binaries ceased to be a good idea. I don't really trust any binary software on my machine that isn't written by Apple. But I will open basically anything in a web browser because I don't have to trust it.

Even now, with all the sandboxing, Microsoft and Apple still have to manually review software in their stores. And truthfully, app stores are basically a naive Web of Trust system. It's not safe at all. Applications constantly open up holes and then say "oops! Security bug!" and what... you're owned now? But Apple doesn't believe it was a maliciously placed hole, so it's all good? Hell of a security model!

Re:It’s time to kill the web app by tannhaeuser on Sunday September 24, 2017 @03:52AM (#15323789)
Web apps are hardly a solution to this problem, those being always connected. If regular apps need permissions (for eg. opening photos on your device) then so do web apps. Are you comfortable with web sites sending your location home, or recording audio/video? If anything, web apps are too sandboxed to do anything useful.
Re:It’s time to kill the web app by gmueckl on Sunday September 24, 2017 @06:55AM (#15324243)
The web isn't a solution to this problem. Drive by attacks are real and easy to place via malicious ads.

The only real "fix" to this situation would be to make software vendors actually liable for the correct functionality of their product. Imagine no more warranty disclaimers or other bullshit in the licenses for "final" products (compiled binaries, executable JS in websites...). All other engineering professions are legally held to their respective standards. It's time we start raising that bar for software as well.

I'd like to see some software company execs soil their pants because they know that their products are lousy crap.

Re:It’s time to kill the web app by blub on Sunday September 24, 2017 @04:50AM (#15323945)
"But I will open basically anything in a web browser because I don't have to trust it."

That's incredibly funny. I guess sooner or later you'll learn why it's a losing strategy.

The web is probably the largest malware infection vector nowadays.

Re:It’s time to kill the web app by Brakenshire on Sunday September 24, 2017 @07:03AM (#15324266)
It's the largest malware vector because it's the largest software vector. It still remains true that running a random website is a million miles away from running a random exe.
Re:It’s time to kill the web app by erikpukinskis on Sunday September 24, 2017 @09:05PM (#15327394)
Instead of making fun of me, could you point me at a place to learn? What in-browser malware am I not aware of?
Re:It’s time to kill the web app by imtringued on Saturday September 23, 2017 @07:16PM (#15322299)
I still haven't found a reliable way to save webpages. Firefox and wget won't download stylesheets or script tags generated by javascript. The only working approach is to print webpages as PDFs. It's a pretty terrible platform for documents.
Re:It’s time to kill the web app by projectant on Sunday September 24, 2017 @01:05AM (#15323406)
That's a good point. How do you create a "local working archive" of a website? It's a really good idea. Want to get started on working on some project like this?
Re:It’s time to kill the web app by reitanqild on Sunday September 24, 2017 @04:26AM (#15323878)
Scrapbook extension for Firefox (one of the winners from either the first or second extension context IIRC) used to do this in a fantastic way.

You could download

- a page on it's own

- a page an all pages recursively for up to 3 levels

- optionally filtered by domain or path inside domain

- optionally including javascript (IIRC)

Sadly this is now broken in the new extension model and fixing it doesn't seem to be a priority.

Firefox is still my favourite browser by far but my enthusiasm isn't as strong as it used to be.

On the bright side even if it doesn't seem to be a priority work seems to progress on bringing the new extension APIs to a point where several of the old extensions can be recreated.

Re:It’s time to kill the web app by jiggunjer on Saturday September 23, 2017 @10:40PM (#15322988)
I'm trying to just build interlinked documents. My bane is variable window/screen sizes and images. Styling is too simplistic for my scaling demands.
Re:It’s time to kill the web app by jerf on Saturday September 23, 2017 @04:27PM (#15321545)
"Any time I think I'd like to do something with the web and sit down to learn, it's completely overwhelming. I've never been able to put together a coherent mental model of the architecture of a web application or figure out what the best practices are for web development."

If it makes you feel any better, that's because there isn't a coherent mental model. If you've ever heard of the ORM/Relational impedance mismatch, it's got nothing on the set of impedance mismatches between the way servers like to work, the HTTP protocol (and its still very page-based orientation in a world of streams), the browser's DOM model, and how Javascript works, especially if you want to get excellent performance out of it.

It is my opinion that this is why you see so much churn in the web world; the continuous iterations on client-side frameworks, server-side frameworks, this Javascript DOM library, that Javascript DOM library, now an integrated framework, now recommending assembling your own from bits and pieces... it's all a reflection of the fact that none of these pieces particularly work all that well together in the way we'd really like them to. There's a ton of possibilities, all of them frankly pretty bad in most ways but good for this one use case, but a different use case for each tech, and that's a recipe for a lot of churn.

My recommendation to anyone getting into this world is A: learn the basics of HTTP B: learn the basics of HTML C: clock some time with Javascript's basic DOM interface and maybe jQuery and then D: relax about the whole thing, unless you really think you're going to build an app that scales up to the tens of thousands of simultaneous users. The truth is that when it comes down to it there are still plenty of applications you can successfully build and deploy using completely 2005 technologies... and the dirty secret truth is that you may well beat someone to market who is over-invested in staying Up To Date and constantly throwing away all their skills.

(You will not beat to market someone who is judiciously staying up to date, and carefully picking and choosing what modern tech to learn and deploy. But you still probably won't be that far behind them, either. And that is not the person who is actually freaking everyone out about the web; it's the guy vigorously selling Vue.js or whatever modern thing as the hot new thing and that all previous JS libraries are now trash that should be used by nobody, when six months ago they were saying the same thing about something else.)

Re:It’s time to kill the web app by userpass on Saturday September 23, 2017 @07:37PM (#15322368)
>If you've ever heard of the ORM/Relational impedance mismatch, it's got nothing on the set of impedance mismatches between the way servers like to work, the HTTP protocol (and its still very page-based orientation in a world of streams), the browser's DOM model, and how Javascript works, especially if you want to get excellent performance out of it.

Mapping objects to tables is a solved problem. The only noteworthy challenge is subtyping but it has easy solutions. I'm surprised how well it works even if you have an old crusty database with an archaic table structure. Compared to serialising objects to JSON or other formats that have no concept of identity it's downright trivial. However mapping objects to tables is the primary thing an ORM really does. Usually it implements lazyness for correctness so that your code while inefficient still works as intended.

What an ORM however does not do is write queries for you. Databases are remote devices, you can't just treat remote objects as if they were local (like CORBA did) if you care about performance.

Remember: You still have to write your queries but usually the ORM still helps you writing queries by providing a query builder or has it's own query language. The point of the ORM is that you don't have to manually marshall rows into objects, it's not a tool to avoid queries. It's right there in the name: Object Relational Mapping. It does not say AutomaticQueryGenerator or something related to queries.

Re:It’s time to kill the web app by olmo on Saturday September 23, 2017 @08:23PM (#15322540)
Why LINQ is systematically ignored outside of Microsoftland? It's actually a type-safe expressive and secure AutomaticQueryGenerator
Re:It’s time to kill the web app by wpietri on Saturday September 23, 2017 @09:27PM (#15322752)
> Mapping objects to tables is a solved problem.

Sure, but that's just the standard solution that hides the mismatch. The mismatch is still there. Which is why when performance becomes an issue, there's a whole bag of tricks for tuning the ORM or just sidestepping it and writing a sane query. It's also part of why the SQL database went from the only thing people could conceive of using to one tool among many for data persistence.

As 1970s paradigms go, SQL has had a good run. But the main problem it solves, easily finding and changing your data somewhere on a small number of spinning metal disks, is just not the central problem of computing that it was for a few decades.

Re:It’s time to kill the web app by addicted on Saturday September 23, 2017 @05:09PM (#15321743)
A lot of the churn is because the web is so young as an application platform. It’s been less than 20years since GMail which was probably the first thing that even approximated an application on the web. Chrome was released in 2008 less than 10years ago, and it was the first time the web had a runtime engine which was perform at enough to even build an app.
Re:It’s time to kill the web app by astura on Saturday September 23, 2017 @06:43PM (#15322186)
There were plenty of webapps before Gmail. There was even plenty of other webmail services before Gmail and Gmail wasn't much different from the status quo. I've been using webmail since 1997 and even my University had a web interface (SquirrelMail) for those who preferred using the web interface (almost everyone). This was pre Gmail.
Re:It’s time to kill the web app by wpietri on Saturday September 23, 2017 @09:31PM (#15322767)
Really? My recollection is that Gmail was substantially different in the extent to which it was an in-browser Javascript app built around server-side data requests. That's in contrast to something where applications were a series of mostly-static pages.

At the time this change was known as AJAX, and GMail is listed as a pioneer: https://en.wikipedia.org/wiki/Ajax_(programming)

Squirrelmail, by contrast, rendered a new page for most user actions. Especially the viewing of messages.

Re:It’s time to kill the web app by curun1r on Saturday September 23, 2017 @10:18PM (#15322898)
My recollection was that Outlook's Web Access was the first. IIRC, it used what would become XMLHttpRequest when it was still internal to Microsoft, so it's the first of what we might consider to be modern web application. GP's 1997 seems right on, though, since that was the first release.

https://en.wikipedia.org/wiki/Outlook_on_the_web#History_2

Re:It’s time to kill the web app by xenadu02 on Sunday September 24, 2017 @02:46AM (#15323607)
Microsoft invented AJAX specifically for Outlook Web Access so yes that is in fact the first "modern" web application.

As I recall there was a fight about getting it in and the creators called it XMLHttpRequest because XML was the hotness at the time and that got it past the project managers and PHBs.

Re:It’s time to kill the web app by wpietri on Sunday September 24, 2017 @04:58AM (#15323977)
GP cites Squirrelmail, which definitely was not AJAXy. And still isn't, I'm pretty sure.
Re:It’s time to kill the web app by astura on Monday September 25, 2017 @10:14AM (#15330649)
What I mean was:

-Webmail was already established as a "thing" when Gmail came out, even in Universities.

-Gmail wasn't particularly special from a UI perspective and was comparable to other offerings at the time.

-There was plenty of other web apps already that weren't Google products. In fact, I, personally, was writing one at the time GMail came in out.

Re:It’s time to kill the web app by wpietri on Monday September 25, 2017 @10:36AM (#15330819)
Sure webmail had been out for a decade before GMail. But I believe the point was that Gmail was special in that it was a pioneering user of AJAX-style interactivity.

Pre-AJAX, web-based services were just a series of forms, and the interactivity patterns harkened back to "smart terminal" [1] form-based use for mainframes in the 1970s. I believe the user you were responding to uses "application" to mean something approximating the desktop application experience of the 80s or the current mobile app experience.

So the distinction they're drawing is about the kind of interactivity. Squirrelmail, et al, were a series of forms and pages. GMail didn't do a new page or frame load every time you looked at a new message. UI rendering and interactivity became client-only activities, with the server providing an API.

[1] now known as block-oriented terminal: https://en.wikipedia.org/wiki/Block-oriented_terminal

Re:It’s time to kill the web app by ProblemFactory on Saturday September 23, 2017 @09:13PM (#15322699)
> Gmail wasn't much different from the status quo

GMail was different because it offered an outlandish 1GB of mail space, when everywhere else you got 1-10MB mailboxes. Since it was launched on April 1st, most people did not believe it at first. And (at the time) huge space allowed users to keep and search all old email, instead of deleting old emails being a weekly chore.

Re:It’s time to kill the web app by astura on Monday September 25, 2017 @10:10AM (#15330605)
I meant from a UI/UX prospective.
Re:It’s time to kill the web app by basicplus2 on Saturday September 23, 2017 @08:54PM (#15322643)
Pine
Re:It’s time to kill the web app by narrator on Saturday September 23, 2017 @06:32PM (#15322146)
Everybody here is too young to remember the era of the Microsoft monopoly and how much it sucked. The Web app era is much nicer. Besides Web Apps aren't bad compared to the 90s win32 api which was closed source and riddled with bugs and undocumented behavior.
Re:It’s time to kill the web app by camgunz on Saturday September 23, 2017 @06:28PM (#15322132)
20 years is forever. Nothing should be this bad after 20 years.
Re:It’s time to kill the web app by bjelkeman-again on Saturday September 23, 2017 @05:21PM (#15321792)
There where webapps being built before gmail. We did Ajax-like things in 1999-2000. But gmail was possibly the first slick implementation.
Re:It’s time to kill the web app by sorenjan on Saturday September 23, 2017 @06:56PM (#15322232)
I remember how impressed I was when Google Maps was released. Instead of having to click on arrows to reload the page with a new map, you could just drag and it would automatically load new map tiles!

Google Earth (the native application) is really old and abandoned by now, but its still better than the new "web" version that only works in Chrome.

Re:It’s time to kill the web app by u801e on Saturday September 23, 2017 @05:22PM (#15321798)
How did gmail back then differ from hotmail or Yahoo mail? I was using both in the late '90s/early '00s.
Re:It’s time to kill the web app by dfox on Saturday September 23, 2017 @06:49PM (#15322209)
Gmail was first massively used single page web application. Somewhat ironically it was built on top of technology meant for Outlook Web Access (ie. XMLHttpRequest as ActiveX component in IE and as an DOM extension in Gecko). AJAX is name that was conceived to describe that approach to webapps, with the somewhat funny fact, that google at the time described it as javascript (from time to time with the addendum: "done right")
Re:It’s time to kill the web app by vbezhenar on Saturday September 23, 2017 @07:22PM (#15322317)
Funny thing about AJAX is that this acronym means nothing. Asynchronous JavaScript? Well, JavaScript was always asynchronous. And XML? What does it have with XML?
Re:It’s time to kill the web app by tmzt on Sunday September 24, 2017 @03:05AM (#15323663)
XMLHttpRequest originally was intended for posting and getting XML which was automatically parsed and exposed on the response object.

Now of course we are using more JSON and XMLHttpRequest is being replaced by Fetch API.

AJAX means Asynchronous Javascript and XML.

Re:It’s time to kill the web app by mch82 on Saturday September 23, 2017 @04:58PM (#15321679)
Any chance most of the software you're writing is headless?

My experience has been the opposite. I first learned C in college, and loved making command line interfaces but never understood how to make GUI applications. When I was introduced to browser hosted front-ends, laying out interfaces for GUI apps seemed a lot simpler and made a lot more sense. Python was the first language where I was able to figure out how to write a GUI for an application running fully contained on a device. It might just be me, but it doesn't seem like a lot of programming language training paths emphasize the human user interface (command line, GUI, or otherwise). The web platform definitely does.

Re:It’s time to kill the web app by 3chelon on Saturday September 23, 2017 @09:49PM (#15322815)
So weird. I also learned C in college, but Python I love and use exclusively from the command line; I'd choose to write GUI code in almost anything else.

But your central argument is right, that UI stuff is ignored in non-web languages at the expense of "core" concepts, and that in turn probably does lead to insecurity.

The reality is, it's historically been hard enough to find decent coders without worrying about myriad security concerns too.

Re:It’s time to kill the web app by sanbor on Saturday September 23, 2017 @05:25PM (#15321821)
Probably you spent several years at low level programming and you're fluid and productive in that world. In the other hand, I spent my last 10 years dealing with websites and I feel fluent and productive with the web, while I feel frustrated and overwhelmed by low level programming. The web is 20 years of quirks. Low level stuff is 40 years of quirks. If you want send me a message and maybe I can help you with learning web and you can help me with low level stuff :)
Re:It’s time to kill the web app by wruza on Sunday September 24, 2017 @02:04AM (#15323535)
For me (not your parent commenter) the problem is not that I can't understand things or need help to grasp something new. I have 2 decades of desktop, low-level, server, business programming in bunch of languages and frameworks behind; didn't touch games and 3d though. The problem is that every time I start to read yet another html/css/js tutorial or advanced guide, I get almost physically sick of it. It is like learning [al]chemistry before analytical method appeared. You're presented to the fragmented facts, none of them covering the entire picture, none of them having any design thoughts. For first few times I thought that it is just a bad tutorial, but with time I realized that it's the nature of web. You can't do a right guess there. You can't metaprogram it, because there is no common basis between all the "technologies". You can add new unnecessary flavor though. Millions of failed frameworks represent the supporting evidence for that. It is so detached from programmers reality that even gives "powerful" names to reinvented things: services, routing, reactivity to name a few. Which are simply modules, callbacks and two-point bindings, the insignificant nomenclature under programmer's feet. Most web devs don't even know what real reactivity is and that is was a regular thing to have circular, heavy-threaded formula references as evaluation model in '84 supercalс working on 96Kb RAM. Do you know why it isn't widely used in today's programming? Because you normally have only one place to set your data and only one way to propagate it. You DO NOT need reactivity in a sane design. You have to be aware of your data flow and be able to analyze it. Native programming overwhelms you because it is saturated with disciplines you was never convinced to follow (or allowed to break for local benefit), not because it is twice as old. Just pick few classic programming books to introduce.

Web is long done, you'll never see it being any better than now, or yesterday, or a year ago. The article may be ranty, but it is right that web still reinvents the '90s having 100x processing power at hands. It simply goes nowhere. I don't hope, I know it will be dead some day, because that bubble becomes too heavy to not pop itself.

Re:It’s time to kill the web app by madeofpalk on Saturday September 23, 2017 @05:11PM (#15321751)
> Any time I think I'd like to do something with the web and sit down to learn, it's completely overwhelming.

For what its worth, any time I go to sit down and learn iOS development I find it completely overwhelming.

Just because you're a fancy smart assembly developer doesn't mean you'll immediately be able to master everything you encounter.

Re:It’s time to kill the web app by bitexploder on Saturday September 23, 2017 @04:23PM (#15321530)
That's cause the web is full of hype. Try Python Flask. A three line Python function and you are going. No magic. Just request and response. It is easy. Bang out a model class and read the SQLAlchemy tutorial. The web and RDBMS with just enough magic. Screw HTML front ends. Write the ugliest HTML you want. Never spend time in HTML. Make your app / idea work. Get your data right. Front ends and modern front end tech stacks are an unholy time suck that offer little for hobby or small apps.
Re:It’s time to kill the web app by untog on Saturday September 23, 2017 @04:32PM (#15321557)
> Write the ugliest HTML you want. Never spend time in HTML. Make your app / idea work.

Huh? That HTML is what your users will spend 90% of their time interacting with. They won't care one bit what RDBMS you're using.

Front end development is deeply frustrating but it's also incredibly important.

Re:It’s time to kill the web app by dualogy on Saturday September 23, 2017 @05:00PM (#15321689)
Maybe what parent meant to suggest is to wait with "proper frontend" and keep ugly quick&dirty minimal HTML until the whole software/app/system/server/set-of-services/whatever is "done", and just works. Because once you distract yourself with making it pretty, it's a rabbit-hole of ever-new, ever-different, ever-more-promising paradigms to switch to and fro. But not sure if that was his idea here..
Re:It’s time to kill the web app by bitexploder on Saturday September 23, 2017 @05:54PM (#15321973)
Yes. Write simple but correct HTML. Don't make it look nice. Make the UX good. Don't spend time with crazy JS frameworks. Simple forms. Use properties for screen readers and usability if you must. When you are learning avoid getting sucked into JS and CSS holes.
Re:It’s time to kill the web app by Typhon on Saturday September 23, 2017 @04:57PM (#15321678)
Yeah but users don't read the HTML, the browser does, and it doesn't care that you're using ten <br> tags for vertical spacing instead of an elegant CSS styling property.

Edit : just want to make it clear that I'm trying to paraphrase here, I don't know if I agree (although I do want to point out that HN is built in this philosophy)

Re:It’s time to kill the web app by untog on Saturday September 23, 2017 @05:36PM (#15321877)
I’d argue that in this era of mobile devices, hard-set line breaks like <br/> are a bad idea even in the immediate term. Regrettably, the front end isn't simple any more, and while the tooling doesn't help I think it's simply not an easy problem to fix any more.
Re:It’s time to kill the web app by 52-6F-62 on Saturday September 23, 2017 @08:10PM (#15322498)
You're absolutely right, but the comment above seemed to be explicitly making a point about getting acquainted with HTML GUI layouts.
Re:It’s time to kill the web app by Typhon on Saturday September 23, 2017 @08:08PM (#15322489)
yeah I was just giving an example of quick-and-dirty HTML that I thought was being advocated.
Re:It’s time to kill the web app by bitexploder on Saturday September 23, 2017 @05:58PM (#15321991)
When you are learning spending time on the front end is a terrible time investment. Your first web apps are for yourself usually. This is exactly why the grandparent gets frustrated. Make an ugly app that works first.
Re:It’s time to kill the web app by open-source-ux on Saturday September 23, 2017 @05:24PM (#15321816)
> Write the ugliest HTML you want

Writing correct HTML helps people using screen readers because they can navigate a page using the descriptive HTML elements. In fact, writing correct HTML is probably the simplest and easiest thing to do when it comes to creating a web page. It's CSS that's needlessly complicated and unpredictable.

Re:It’s time to kill the web app by bitexploder on Saturday September 23, 2017 @05:51PM (#15321957)
If you want to write web apps, save the HTML for last. When you are writing apps for yourself you write just what you need. That is what I am saying. Functional HTML first. It's not hard to write plain looking but very good UX. I think we are agreeing. I meant write stuff that works but is not fancy and avoid the big JS frameworks.
Re:It’s time to kill the web app by open-source-ux on Saturday September 23, 2017 @06:00PM (#15321998)
Yes, I agree. Sometimes (maybe often?) plain HTML and CSS with a little bit of Javascript (and server-side logic) works perfectly fine for many "web apps". It can even be faster (and simpler) than downloading all the app logic and a fat Javascript library to the client.
Re:It’s time to kill the web app by sebpmtl on Saturday September 23, 2017 @08:51PM (#15322633)
That's why It's a good thing to develop mobile-first, you tend to keep things more minimal.
Re:It’s time to kill the web app by chickenfries on Saturday September 23, 2017 @04:26PM (#15321544)
What did you try to do to learn web development? I'm sure there was something you could do to change your approach, if you're really capable of learning how to build complicated, networked GUI applications in Rust and C, you must be able to grok the basics of web architecture.

Honestly these comments that we should throw away the web are just as ignorant as people who think we should just throw away all of our C code.

Re:It’s time to kill the web app by GeorgeTirebiter on Saturday September 23, 2017 @10:55PM (#15323039)
I consider myself pretty good, too, but had to take a community college class to force myself to spend the time to learn website dev. It's an abortion. HTML/DOM/CSS + JavaScript? Back End / Front End? You simply must use a framework to do anything real. In class, we developed without frameworks, to see how the guts work. Like real guts, Web guts are ugly (although perhaps utilitarian) and not especially streamlined for their job; but given they evolved from simpler times, maybe pasting over the cruft with more cruft is our only salvation today.

I normally do embedded, and, to me, the Web Browser is just an app. Anybody could write an app that accepts text as input and output formatted text, graphics, pictures. It certainly could be optimized for within-the-app apps. I'm not sure why this hasn't been yet done. JSLinux is a proof-of-concept: https://bellard.org/jslinux/

Re:It’s time to kill the web app by da02 on Saturday September 23, 2017 @06:08PM (#15322040)
I felt the same way yesterday about writing a little app to position X windows in preconfiged positions.... in Crystal using C bindings. I would have to learn C, make, xlib, and a while bunch of other things just for a simple, non-buggy executable. I just gave up and decide to keep using Crystal and make external POSIX (ie shelling out) calls to the compiled wmctrl executable.
Re:It’s time to kill the web app by fdchn2016 on Sunday September 24, 2017 @03:28AM (#15323726)
You need to learn CSS just the way you would approach a learning another programming language. From scratch - without assumptions and short cut solutions you get from Googling. Understanding stuff like block, inline block and positioning and go from there. Take a month's equivalent out and spending time learning it.

Javascript too can be an extremely confusing language for those who come from typed systems.

Then comes the DOM.

Then there is the communication system - AJAX, websockets etc.

Finally there is understanding the browser dev tools. As the tooling has accumulated understanding how to use it and internalize everything will take atleast 2 - 3 days.

If you don't take time to learn these 4 systems independently, when they're all mashed up as in a web application, you will struggle .

Re:It’s time to kill the web app by vbezhenar on Saturday September 23, 2017 @07:12PM (#15322285)
I don't think that the web is complex, at least not in a sense I'm understanding "complexity" word. Web is a huge pile of semi-specified standards. There are bunch of written standards, like XML, HTML, DOM, JavaScript, CSS (each with multiple versions). There is a lot of tribal knowledge, that you'll get only with experience, like things that doesn't work with IE 6 (luckily IE 6 is not very relevant today). There is some security-related stuff, things that you should remember if you don't want to make a vulnerable website. But it's not a complexity, it's just a lot of things.

Now there's a bad tools. JavaScript is a bad language and its ecosystem is mostly terrible. If you want to create react app with hot reload using es6 and other things that modern developer expects to have, you'll end up with tons of configuration glues, some experimental hacks and many tools hacked together. Or you can download "starter" template, where those hacks are already glued for you. Good luck to add or change or fix something there. In contrast I can write very simple maven config and it'll support almost everything I would ever need without any configuration. It's difficult to navigate among those tools, but this difficulty will be solved with better tools and better documentation. I'm eager to wait until I can throw webpack and just write ES7 with imports and browser will understand it. I shouldn't need build tools for web.

Re:It’s time to kill the web app by Falkon1313 on Saturday September 23, 2017 @11:06PM (#15323081)
That is complexity. It's layers upon layers upon layers of dynamic runtime interactions. Try working on maintaining/extending a web application that's been developed over the course of many years, during that course of time using all of those technologies in many different versions, with the many different styles of architecture and best practices that were 'the right way' to do it at the various points in time when those parts of the system were added. You'll find all kinds of complexity in there, even without looking at the server-side.

Then you mention the modern ecosystem of javascript tools with all of its glued-together hacks, dependency nightmares, grey boxes of 3rd party code that you can look at but don't have the time to understand fully (all of which use different styles/techniques). That is complexity.

The alternative as described by the article is traditional development where you have a language+IDE+GUI design tool that compiles applications into a single file that, if it compiles, just works (except for any bugs). People who haven't developed in Delphi or similar environment have no idea how much less complexity there could be.

Re:It’s time to kill the web app by always_good on Saturday September 23, 2017 @05:38PM (#15321888)
I don't really understand.

You say that the web needs to be completely thrown out, yet you decided that your foray into web development should be to build a thick Javascript web application? Not some simple Flask endpoint?

Because I assume you could figure out a basic request/response server, and your issue is that you dove into something like Webpack + React + Flux + Qux + Fux + Foo.

Re:It’s time to kill the web app by mikebenfield on Saturday September 23, 2017 @06:41PM (#15322174)
> Not some simple Flask endpoint?

I don't even know what a "Flask endpoint" is. Actually I barely know what Webpack and React are either.

Re:It’s time to kill the web app by bocklund on Saturday September 23, 2017 @07:22PM (#15322322)
Flask is a Python framework for web servers. It's like 5 minutes to a HelloWorld webpage
Re:It’s time to kill the web app by Spivak on Sunday September 24, 2017 @12:49AM (#15323361)
The time to create a "hello world" page isn't really the best selling point when it can be done in ~15 seconds depending on your internet speed.

    yum install -y httpd && echo 'Hello, World.' >/var/www/html/index.html && systemctl start httpd
Or assuming that you want something in python

    echo 'Hello, World.' > index.html && python -m http.server
Re:It’s time to kill the web app by jacquesm on Saturday September 23, 2017 @05:58PM (#15321992)
That's meant that way. What better way to get rid of annoying independent programmers like you (and me) than by setting things up in such a way that you need a large company to make any headway at all? That's just another form of lock-in and a way to deepen the moat for upstarts who are historically the most dangerous types for established players.
Re:It’s time to kill the web app by bertan on Saturday September 23, 2017 @04:54PM (#15321661)
I think total need for developers in the world increased so rapidly that we couldn't find people with enough experience and teaching abilities to educate new developers properly. If what Robert C. Martin claims is true, number of developers in the world doubles every 5 years.

So, I really think there is a competency issue here. However, I don't believe that it is restricted to the web; it is true for every platform. It is just that learning web technologies seems to be a better choice if you are new to programming as one can use those skills for almost every platform. (yeah you can use almost every language to develop for multiple platforms, but come on even Microsoft is using web tech for vscode)

Re:It’s time to kill the web app by wozer on Saturday September 23, 2017 @07:50PM (#15322417)
It doesn't have to be complicated. A single page app implemented with React, calling some REST Api to retrieve and store its data, is basically all you need.
Re:It’s time to kill the web app by twsted on Sunday September 24, 2017 @01:54PM (#15325726)
And you don't even need React for that.
Re:It’s time to kill the web app by JCSato on Sunday September 24, 2017 @02:20AM (#15323566)
My two cents as somebody who's made the shift from C++ & Java to web dev over the past year or so:

The complexity really depends on where you start. Part of what muddies this with web dev is how many resources there are. If you look up "what front end developers need to know in 20XX", you get a dizzying amount of results. Learn React, Redux, SASS/LESS, Angular, Express, Webpack, Docker, etc. There are lists upon lists and tutorials on tutorials.

A while back, before Google made it a standard feature, I did a project that took a Google maps route and found gas stations along said route, giving you back a list of stations with prices, etc. You could select a station, and it would update your route automatically. The whole thing was vanilla JS and Node (ok, I used jQuery for AJAX requests). No frameworks, no build tools, just plain old Javascript.

As I got deeper into Node, though, I found myself taking advantage of frameworks and packages naturally because they solved a problem I'd previously encountered. React makes things like dynamic lists of gas stations much easier to organize and keep consistent. Preprocessors take a lot of tedium and guesswork out of CSS. All of these things are an important part of being a "Front End Developer" because they make development easier to maintain, structure, and build upon. They don't change the fundamentals of what you're doing.

This isn't really any different from being a native developer. A few years back when I was trying to make a super basic C++ GUI application. I kept bouncing between GDI+ to GDI to Direct2D to Direct3D to SDL to OpenGL, etc. I was too focused on trying to find the appropriate tool that would conform to my expectations of how the app "should" be developed, and I gave up. I didn't have a good sense for what problems those things solved, so of course I had no idea why I would use one over the other or which stack was best for my use case. A little while ago I took a stab at graphics programming at a much lower level, spent some time with DirectX and OpenGL, and I would approach my C++ app idea much differently now because of that knowledge.

I think anybody who gets into web dev by trying to learn frameworks is going to have a daunting time. Try making your app with vanilla HTML, JS, CSS, and a simple Node server (don't even bother with express, just use Request and localhost). Look at what was tedious or difficult about it, then go find a framework that fixes that thing. All these tools build on each other incrementally like that. Don't start with React, make it all in HTML, then make the incremental transition to Handlebars, then make the transition to React (for example). The vanilla stuff won't make you a front end developer, just like how me writing something in OpenGL doesn't make me a "graphics programmer", but it will give you the foundation required.