5 ms·
It's not so much a change in technology as it is a shift in focus. If you or your company needs a basic website, then wordpress will almost always take you as
by hajile 10y ago
It's not so much a change in technology as it is a shift in focus.
If you or your company needs a basic website, then wordpress will almost always take you as far as you need to go. There's not a huge need for devs and nobody who's good at the web wants to be there because it's a race to the bottom financially. That part of the web (the overwhelming majority I might add) is pretty stagnant with few real changes or advancements having happened in the past decade.
Apps failed in that nobody wants to install your app on their device unless it's a game, a free utility, or one of a few popular apps made by large companies. WebOS got the idea of web technologies right, but the devices were too limited. Today, the idea of a web app that runs everywhere is very appealing and much more accessible to clients. All the new frameworks are really targeting this kind of use. Pounding the square that is web apps through the round hole that is the browser is hard, but still better than the alternatives.
If you're making a website, jQuery and simple JS is usually all you need. If you're making a web app with complex data and complex UI, you need a framework to keep things sane.
- blub 10y agoWeb 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...
- 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?