4 ms·
Because we're no longer making websites, we're making apps. Sure if you just need a simple website, make it from scratch, but good luck maintaining a full blown
by s_y_n_t_a_x 7y ago
Because we're no longer making websites, we're making apps.
Sure if you just need a simple website, make it from scratch, but good luck maintaining a full blown app using jQuery.
It's not just web development that is hard. You can't honestly say any toolchain on the desktop side is any easier.
That said, web development is getting easier now that the dust is settling and only a few major frameworks are used.
Get started with create-react-app. React is the industry standard, use it.
1) Install NodeJS
2) npx create-react-app demo
- swiley 7y agoYou can’t get simpler than Python and tkinter (or just strait TCL/tk.) Packaging these without depending on preinstalled software is hard (you probably shouldn’t even bother trying on Linux, everyone there expects installing weird stuff to involve using either git or a container anyway.) As far as I can tell the main reason people don’t use it is that it can’t make iPhone apps.
- nsfmc 7y agogreat, now you have a native client but now your customers will expect that it works offline, so now you're building a sync system for your app. additionally, if your app has any design/layout issues, now you need to hire for people that can do visual layout using tcl/tk. If your app consumes rich text, you're in for a real treat as you are now on the hook for figuring out how to manage that as well (in addition to serialization, you also need it to likely be emitted into some web friendly format anyway. if your app consumes some feed (say new-user facing features or whatever), you need to find some meta-format that your app can use to layout that content (or i mean, i guess you can use a webview, but then...) if your customers are enterprise-ey, you are now dealing with some overzealous IT dept that is skeptical of your application running with user permissions. if you're trying to push a fix/update to your users, you now need to build infra around deploying new apps as well as customer support determining if users are somehow running old versions when they report a bug. the web is a total "mo money, mo problems" situation, but i think people dismiss how many problems the web solves for your developers on a day to day basis: easy to push updates, simple to whitelist your app's domain on some restricted network, easy add dynamic content/layout to portions of your app with stored content, (less sync resolution issues because your app probably requires network to operate) etc. Native apps have their own issues, they're great, don't get me wrong, but people demand a lot from basic apps of any stripe these days, and as those requirements increase, so does the amount of complexity that developers need to manage at all stages of the pipeline.
- swiley 7y agoOh sure yes, 90% of the things people want are really just a few HTML forms and a back end. My point was that desktop development isn't any harder than web development. Most of what you've mentioned involve adding features and the same features would be just as dificult to implement in a web app. >but people demand a lot from basic apps of any stripe these days, and as those requirements increase, so does the amount of complexity that developers need to manage at all stages of the pipeline. I think most of these demands are misunderstood. RE: "syncing": Most people just want to work with their data offline. Traditionally this was done by interacting with the filesystem rather than a thick client manipuliting the state on a server (like many modern web apps are.) There's no need for "syncing" or complex protocols.
- rochak 7y agoI disagree with your ending note. I like React and have been using it professionally for over 2 years, but I wouldn’t recommend anyone to use something just because it is an industry standard. At my work, for example, the upper management is now convinced that microservices are going to solve all of their current maintainability problems, while the fact is that there are a lot of employees that write shit code, who will also develop shit microservices.
- acdha 7y agoI might pick a nicer phrasing for your last point: if your team is not good at clean architecture (separation of concerns, conceptual model, etc.), microservices will “solve” that in the same way that adding gasoline solves a fire. If your team has gotten better at that, however, it might be a good strategy for migrating pieces out of an old system.
- s_y_n_t_a_x 7y agoMy sole reason is to point new developers to the skills that nets them the most job opportunities. Learn the most popular (and imo the best) framework first. People bitch about the web being too hard and too many choices. Then when you say to just use the most common stack, they bitch that you should choose X instead. Doesn't make any sense. React also has the largest ecosystem, is the most flexible, and the most feature complete. (I can natively target nearly all mobile/desktop environments)
- madhadron 7y ago> You can't honestly say any toolchain on the desktop side is any easier. Why, yes. Yes, I can. Delphi, for example. Visual Basic. Frankly, I think Cocoa and Gtk+ are easier.
- s_y_n_t_a_x 7y ago1) Install NodeJS 2) npx create-react-app demo How many steps does it take to start from scratch with other toolchains?
- sh-run 7y ago1) Install Django 2) django-admin startproject mysite Edit: To be completely fair this doesn't anything for the front end, unlike create-react-app. I'm not a web developer so I don't really have a dog in this fight.
- s_y_n_t_a_x 7y agoI guess my point was it's really easy to get started, and it's a really common misconception that starting a SPA is difficult. It's just as easy as getting started on any other toolchain, if not easier.
- madhadron 7y ago1) Install Delphi. 2) File->New Project Not really a sensible comparison. The tooling to build desktop interfaces remains vastly, vastly better than the tools to build web interfaces.
- s_y_n_t_a_x 7y agoI'm not so sure. I'm able to deploy to multiple environments natively with the same React UI components. Other than SwiftUI I'm not sure what rivals React when it comes to the design.
- mark_and_sweep 7y ago> React is the industry standard, use it. And all these years I thought that HTML was the industry standard...
- ng12 7y agoI hate that you're downvoted. So many people on HN are truly ignorant about what web development is about. > Because we're no longer making websites, we're making apps This is exactly right. Some projects should be SPAs, some SSR, some just a little HTML and jQuery. Use the right tools for the job.