4 ms·
Web app with complex data = website that can be done very well with html, css and a server-side language. It's only the complex UI which requires JS frameworks
by blub 10y ago
Web app with complex data = website that can be done very well with html, css and a server-side language.
It's only the complex UI which requires JS frameworks and libraries, but building such a UI is already a losing proposition and the main reason why web programming is getting "unnecessarily complicated".
Web developers think that web apps can compete with native applications - they still can't and in the process of trying to get them there, they turned the process of building websites into a mess.
- onion2k 10y agoWeb app with complex data = website that can be done very well with html, css and a server-side language. Only if you make a baseless assumption about the user's internet connection. Someone whose connection drops out regularly, or who faces periods without a connection at all, is going to hate your server-side app compared to my offline-first progressive web app that they can have cached on their device and that syncs their changes using pouchdb/couchdb. My app will have a ton of JS that yours doesn't, but that extra code makes it work when they're not online. That's a huge advantage. Not all progress is designed for added shininess. Some of the changes that are happening are designed to fix real problems that people face.
- flukus 10y agoAssuming all the required data is reachable offline, which would make the choice of a web app very questionable.
- onion2k 10y agoWhat work is required to make an app fulfill it's need is mostly very similar regardless of what delivery mechanism you use to get it to the user. Native has a few advantages (performance, build tools, layout libraries, etc), but if all you need is available on a web app platform and the performance is good enough then a web app can still be a very good choice, namely because the code assets easily can be shared with other web offerings and there's vastly more available developers to do the job so hiring someone to write it is much, much easier (assuming you're not outsourcing it). There are a lot of things that you have to do regardless of how the app is delivered - you need to work out what the app actually needs to do, you need to design the business logic, you need to design the look and feel, you need to get the UX right, you have to throughly test it. On a decent size app, the job of actually writing the code is about 25% of the work required. In my opinion, something that represents a quarter of the project probably shouldn't drive the entire process.
- flukus 10y agoThe apis and libraries for an offline app are very different to an online one. If you build an offline app as a html/js app then good like finding libraries for common tasks, like file system access.
- onion2k 10y agoWhen I'm talking about offline-first progressive web apps I'm not referring to something that would load data from a file system. https://developers.google.com/web/fundamentals/getting-started/your-first-progressive-web-app/ https://developers.google.com/web/fundamentals/getting-start... As it is though, the API for file system access in JS might not be standard yet (and might never be) but it works well in Chrome: https://developer.mozilla.org/en-US/docs/Web/API/File_System_API https://developer.mozilla.org/en-US/docs/Web/API/File_System...
- antimatter 10y agoI keep seeing this use case of JS heavy web apps but have yet to come across one in production that adds any value when offline. Can you provide an example?
- onion2k 10y agohttps://www.washingtonpost.com/pwa/ https://www.washingtonpost.com/pwa/
- blub 10y agoI think that when one is developing a web-based product, a working internet connection is a very reasonable assumption. If that's not the case, it's pointless to create a web-based product. Just offer the full thing as an app and a simple web UI. I looked at the WaPo link that you posted and it seems to be exactly this type of product with an identity crysis - my browser already allows me to save pages for later reading and if that won't work, there are a multitude of offline reading apps to choose from, I don't need a WaPo "progressively enhanced" app for that.
- Bahamut 10y agoThere are many web apps that make zero sense to write a native app for. For example, my company's product is an LMS - the administrator side is not something that makes much sense to make a mobile app for iOS and Android, as one has to create/manage courses, manage users, and view useful displays of data (i.e. charts). Instead, we have a web app that degrades acceptably for mobile, losing such features as multiple selections for modification (it has a lot of grids). For such an app, having a longer load upfront in order to facilitate vastly better UX than using purely server-side rendered pages is a huge win for our customers, and having the time to load & interact being low also adds tremendous value to the customers, to the point that they flock to us over our competitors. I don't find myself having a problem with frontend web app architecture - most of the problems out there are already solved or solvable with a little time spent on thought, but the knowledge is not widespread, and so we have a lot of people who have never seen what good structure looks like.
- blub 10y agoI don't know what's best for your customers, I assume the company did usability studies and drew conclusions from that. There's always cases where it makes sense to make use of particular technologies. It absolutely does not make sense to transform most websites into web apps that are completely broken without JavaScript, which is what's happening right now.
- abledon 10y agowhat LMS if i may ask?