13 ms·
We've been hearing the same pitch for literally years. Heck, I've made some of them myself: "This is it, people! Native apps have been rendered unnecessary!" N
by endorphone 8y ago
We've been hearing the same pitch for literally years. Heck, I've made some of them myself: "This is it, people! Native apps have been rendered unnecessary!"
No PWA competes with a native experience. Not performance wise, not usability wise, and ultimately for the developer not even development wise. It may still make a lot of sense, and there are a lot of arguments for web apps, but the enthusiasm in this discussion seems disconnected from reality.
Indeed, right now we're seeing a big uptick in Instant Apps on Android -- go to a webpage and it actually loads a native app -- and I fully expect the same to appear on iOS.
There is a bit of app exhaustion, though I'd say it's much more significant on Android where users have been taught that it's user beware. It certainly isn't a technical limit, though.
- egeozcan 8y ago> (paraphrasing) No PWA competes with a native experience even development wise I'm personally too spoiled by the React debugging experience, and I'm saying this as a developer who mainly does C#. On the other hand, I know many developers who can't stand a line of JavaScript. The answer is here a huge "it depends, really".
- chaostheory 8y agoFor those who can't stand javascript, typescript was made for you
- stephenhuey 8y ago...and for those who want even more improvement over JS than just TS, there's Dart in the Flutter world.
- chaostheory 8y agoWhy Dart instead of Typescript? How well does it integrate with npm modules? i.e. do I have to reinvent a lot of wheels compared to using Typescript?
- hajile 8y agoBigger difference than that. Flutter has you writing in high-level components that become native draw calls using Skia. There's an in-progress back-end that outputs to HTML, Canvas, and CSS paint instead of Skia. You aren't going to be using npm much at all. https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8 https://medium.com/flutter-io/hummingbird-building-flutter-f... If you are using Dart without flutter (eg, overReact), then you're going to use npm a bit more (though dart has better builtin libs which helps a bit on that front). There is a generator that uses typescript definition files to generate dart interopt files. https://github.com/dart-lang/js_facade_gen https://github.com/dart-lang/js_facade_gen
- EduardoBautista 8y agoTypescript is just a huge bandage. It doesn't change that JavaScript has horrible tooling that changes every full moon. Not to mention it still keeps many of JavaScript's horrible warts.
- chaostheory 8y agoWhen you can't avoid Javascript (which is extremely likely now), Typescript is a huge boon. Not everyone has the luxury of working solely on the backend. Which "warts" does Typescript keep from Javascript?
- EduardoBautista 8y agoLack of a decent stdlib is a huge one. I would rather opt for Clojurescript or Elm.
- chaostheory 8y agoHave you recently used Javascript? I ask because it's evolved pretty fast in the last 3 years. Even the past 2 years seem like a blur to me. Before 2015 it was unusable for me for large app development. Typescript evolves just as fast since it's a superset of javascript. 2.x was when it was usable for me. With 3.x, I have even fewer complaints. imo both are improving way faster than I can complain. That said, I still can't go back to Javascript after using Typescript. With rxjs and other popular 3rd party libs, it's hard to notice any limits. I'm not in love with Javascript, but it's just hard not to work with it since it's become the franca lingua of programming. Everyone knows it because everyone probably has to deal with it sooner or later. The ecosystem is also really strong. I have yet to had re-invent any wheels, which is something that's hard to avoid when using tech with smaller communities.
- EduardoBautista 8y agoJust a few days ago actually, and probably will again later this week. It still lacks a decent stdlib.
- fxfan 8y agoOr Scala.js. Huge stdlib (the entire jvm PLUS js) ecosystem) and no language warts.
- troygoode 8y agoReact Native gives you the best of both
- wolco 8y agoOr the worst. You still have to install an app. It isn't native. Might be some cases where it makes sense but an spa might be easier for everyone.
- cturhan 8y agoWhat is the actual problem during debugging react?
- untog 8y ago> ultimately for the developer not even development wise Ehhh I'm not sold on that one, as someone who has done a lot of web dev and then transferred to doing some iOS and Android work. The languages you can work in (Swift, Kotlin) are fantastic, and the APIs and frameworks are great. But XCode and Android Studio are a hot mess and have been for years. Plus, compilation delays every time you want to do so much as run a test, waiting for app store approval before you can push out a bug fix.... IMO the developer story for native apps isn't that great. The web has a lot of wrinkles too, but coding with Typescript using hot-reloading and instant deployment of code to users has a lot going for it. > No PWA competes with a native experience. It does in one key area: it loads instantly. I know Android Instant Apps are out there too, but having to persuade your user to go to an app store and download your app before they can do anything is a huge lift. The web always, always wins on that front.
- JohnFen 8y ago> But XCode and Android Studio are a hot mess and have been for years I can't speak to XCode, but I agree that Android Studio is terrible. Fortunately, you don't have to use it to develop Android apps.
- blago 8y ago> But XCode and Android Studio are a hot mess and have been for years Not sure where this is coming from but Xcode has been working pretty well for most of us.
- swift532 8y agoI hear iOS devs say that, but code editing in XCode for me is very uncomfortable compared to Webstorm, Visual Studio Code or Visual Studio. There are no tabs for open files to speak of (XCode opens a new XCode for their "tabs"), the UI is very cluttered and things are quite hard to find if you don't know where they are - and it doesn't help that the UI keeps shifting around in updates, making Googling stuff harder because a lot of images of things became deprecated.
- mbesto 8y ago> but the enthusiasm in this discussion seems disconnected from reality. This isn't the OP's point. The point is there is more friction to download new apps today so coming out with a new native experience is going to much harder to do in today's world. It doesn't mean that this is the long term strategy.
- endorphone 8y agoI'm speaking to this discussion, not the submitted article. Sure, start with a web app (though it really depends on the target -- if the web app yields a sub-standard interface, performance, or utility it's a dead end) with hopes of building an app when you have an established base. However in this discussion there are a lot of people who are arguing from the perspective of a world that doesn't exist, based upon the same "this changes everything" argument we've heard every year.
- mbesto 8y ago> I'm speaking to this discussion, not the submitted article. Precisely my point. That's not what the OP was saying. Per their comment: to get people to install your app just to try it out. > based upon the same "this changes everything" argument we've heard every year. Did we read the same comment? Where did the OP write "this changes everything"?
- deleted 8y ago[deleted]
- taco_emoji 8y agoYou're using OP to mean "the root-level HN comment" where @endorphone thought you meant TFA.
- mbesto 8y agoI am, but they're both making the same point, so it's kinda moot.
- pjmlp 8y agoOn the contrary. In spite of my preference for native apps, I only got payed to deliver mobile Web and hybrid apps. The large majority of CRUD apps don't need native features. Also signed PWAs have access to native APIs on UWP and ChromeOS. It is only a matter of time until the Chrome team exposes the same capability on Android.
- tracker1 8y agoWell, the React Native experience is very similar to React for web. So I'm not sure the developer experience is THAT far off. Also, for line of business, mostly CRUD apps a PWA is probably a better place to start. You get iOS, Android, Mac, Linux and Windows in one place with one codebase, with no install. Frankly, I'm far less likely to install any app than I am to use a web app. In fact it pisses me off when I can't do updates from my desktop. No, it isn't a technical limit, it's more of an I don't want more crap running in the background sending notifications. I disabled both FB and Pandora notifications because they were annoying me and many users don't even know how. I'd rather not even go there to begin with. If I use a web app that is very useful, there are times I'll see if there's a native app for mobile. If there isn't, I'm okay with that. Right now, I'm working on an application that is web based and is for desktop use. I'm able to use react + material-ui and a few other modules and it's been going very smoothly. I can't say I've ever had a better experience with desktop app development, or mobile. ymmv.
- phs2501 8y ago> Indeed, right now we're seeing a big uptick in Instant Apps on Android -- go to a webpage and it actually loads a native app -- and I fully expect the same to appear on iOS. I'd never heard of this but I can guarantee I will immediately quit and never install an app that gets forced upon me via this method. This is like the terrible "Try our app!" web popups, only 10x worse. I realize like most people on HN I'm hardly the norm when it comes to mobile users, but UGH.
- dec0dedab0de 8y agoI saw it for the first time last night. I think it was Vimeo. It was actually much better than the "try our app" popup, because it was android asking if i wanted to use the instant app, and when i said no it just went away.
- phs2501 8y agoThat's more reasonable. I wonder if these work via Firefox? Maybe that's why I've never seen them.
- dec0dedab0de 8y agoI normally use firefox too, maybe I accidentally opened the link in chrome last night. I don't have my phone around to test. I just remember thinking "ahh that's kind of neat" before clicking no.
- phs2501 8y agoAs long as it remembers no locally and just lets me use the web app forever after it's a godsend.
- modwilliam 8y agoThey should't be available via Firefox, just chrome/google search
- endorphone 8y ago
- honkycat 8y agoI've been hearing the constant whining about non-native apps for years. Pack in it, you've lost. Everyone is writing Electron and PWAs at this point. Nobody wants to train C++ developers for a minor speed boost consumers don't seem to care about. They have a full build pipeline and dozens of trained webdev engineers ready to go, why invest in a whole new product? A LOT of people have looked at the cost/benefit of electron VS something like QT. Many have decided that the performance hit isn't worth the cost of developing the C++ build pipeline and training developers on how to build QT apps: - Spotify - Visual Studio Code - Atom - Invision - Slack - Mattermost - etc. The web tooling is actually pretty nice if you stay in your lanes. CSS / HTML / Javascript can create a really nice experience if you don't do a bunch of dumb stuff and make pragmatic decisions.
- mpweiher 8y agoWunderlist had/has native apps for all clients. One of the main reasons people LOVED the app. It's certainly not a guarantee, but if you want that final level of polish for a consumer app, native is the way to go.
- gkilmain 8y agoThere has been a ton of whining over the years about native vs some JS framework and I'm tired of the shit too. Now I can't speak for your QT but I can for IOS. Do you know how much easier it is to learn swift + xcode vs learning html / css / js in a framework that compiles to native code? The answer is very much.
- wpietri 8y agoI think it depends a lot on what you mean by "compete". I'm a heavy Twitter user. I now only use its PWA on Android and it's fine. I wouldn't call it perfect, but it's certainly very usable, and I suspect most non-experts would have a hard time telling that it's not a native app. Especially for MVPs, I think they're competitive for a wide range of uses. The UX may not be as polished, but that can be more than made up for by instant availability, instant updates, lower dev costs, and faster release cycles. The ability of a new company to learn is limited by release cycle time, and I think fast, low-cost learning is a huge advantage to startups.
- naravara 8y ago>No PWA competes with a native experience. Not performance wise, not usability wise, and ultimately for the developer not even development wise. How much of a usability advantage does an app for, say, IMDB offer that the regular website doesn't? Or the loyalty card apps that a lot of grocery stores and coffee shops use now? A lot of apps on the market are functionally just wrappers put around a poorly optimized website. They'd be better off putting their efforts towards making a great experience on the mobile web instead of trend-chasing. In the iOS environment Apple could actually help here through a simple awareness campaign. You can save website bookmarks as icons on your home screen as it is, but this functionality is little known and not easily discoverable.
- datavirtue 8y agoWebsite = deliver infornation App = application Apps suck at delivering information, I'm looking at you WSJ. I cancelled my sub their app was so bad. Websites suck at apping.
- oftenwrong 8y agoCompanies saddle their mobile web experience with excessive animations, gobs of dynamic elements, screen-hogging navigation bars/sharing buttons/overlays, poorly-implemented infinite scrolling, etc, etc... and then they conclude that mobile web sites are bad and native apps are good. People have forgotten that you can build a website that isn't a user-hostile SPA train-wreck.
- xd1936 8y agoAmen. Twitter[1] and Starbucks[2] have both built gorgeous PWAs in the last couple of years that are perfect replacements for 98% of a native app's functionality. It can be done, people! 1. https://blog.twitter.com/engineering/en_us/topics/open-source/2017/how-we-built-twitter-lite.html https://blog.twitter.com/engineering/en_us/topics/open-sourc... 2. https://twitter.com/davidbrunelle/status/905931990444244995 https://twitter.com/davidbrunelle/status/905931990444244995
- 8y ago
- king_magic 8y ago> No PWA competes with a native experience. Sure they do. Consider Reddit's website (well, before the atrocious UX updates the past few months) vs. their mobile app. It work(s)/(ed) perfectly fine. There's literally no reason to use their native app (well, other than their ridiculous, atrocious, never-ending prompts on their mobile website to use their native app).
- ohithereyou 8y agoHere's a tip - take any reddit URL and add '.compact' to the end. Example: https://www.reddit.com/r/all/ https://www.reddit.com/r/all/ becomes https://www.reddit.com/r/all/.compact https://www.reddit.com/r/all/.compact This uses the original reddit mobile site. It is very fast and clean.
- deleted 8y ago[deleted]
- cube00 8y agoAt least they are consistent, go to the compact site, giant banner appears: > You've been invited to try out reddit's new mobile website! try reddit's mobile website
- ohithereyou 8y agoLuckily, it's easy to block with AdBlock Plus.
- virtualwhys 8y ago> well, other than their ridiculous, atrocious, never-ending prompts on their mobile website to use their native app In your settings there's an option to tun this off (I agree, a truly terrible user-hostile default).
- Babiker 8y agoThat's because Apple and Google are doing everything in their power to keep apps tied to their app stores. If they wanted to they could make progressive apps runs as smooth as native apps tomorrow by enabling better native integration, but they won't.
- mrep 8y agoGoogle makes a ton more money off of web search than their app store and they keep releasing new features that allow you to access your devices sensors so I doubt that for google.
- int_19h 8y ago> No PWA competes with a native experience. Not performance wise, not usability wise, and ultimately for the developer not even development wise. This would be correct, in theory, if companies only made apps where the extra power that the app has is necessary, and would stick to websites otherwise. In practice, this isn't true, and anyone who has ever opened any major app store knows that many popular apps in it are, in reality, just wrappers around a webview, and the only reason why they are apps at all is because the management demanded that there is an app, like all the cool kids have these days. Most apps really would be better off as just websites precisely because they don't need anything that an app gives, but often suffer from what it takes (e.g. ad-hoc navigation versus standard browser controls).