TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: React Native or Flutter for a new app in 2023?

66 点作者 djanowski将近 2 年前
App has typical requirements plus some interactions with OS native APIs.<p>This is a startup so the returns of using a single development platform to target iOS&#x2F;Android seems unquestionable.

33 条评论

pritambarhate将近 2 年前
I would say Flutter. Performs much better than React Native.<p>Upgrading old RN version to new RN version has always been a very painful experience. Flutter in our experience has been easier to upgrade.<p>Also Flutter has support to call native APIs using platform channels. (<a href="https:&#x2F;&#x2F;docs.flutter.dev&#x2F;platform-integration&#x2F;platform-channels" rel="nofollow noreferrer">https:&#x2F;&#x2F;docs.flutter.dev&#x2F;platform-integration&#x2F;platform-chann...</a>)<p>At my company we have multiple Flutter Apps in production. The experience has been quite good so far. In fact we are converting some of our native projects to Flutter in order to reduce the maintenance burden.
评论 #36700305 未加载
joshuawright11将近 2 年前
Purely curious; why not start natively with iOS or Droid (depending on which one your target audience uses more)?<p>You&#x27;d have the easiest native API access and fewer headaches. Once you hit PMF &amp; have proven the idea, add the second platform.<p>Is there a benefit to launching on both platforms out of the gate? Unless perhaps there are specific React web assets you&#x27;d like to reuse to get up and running faster via React native.
评论 #36698887 未加载
评论 #36698896 未加载
评论 #36700040 未加载
评论 #36699076 未加载
评论 #36699060 未加载
评论 #36703851 未加载
jconley将近 2 年前
React Native. TypeScript. NestJS backend, NextJS frontend. The ability to easily share code across the full stack is underrated. Of course you need someone that thinks at that high level building it.
评论 #36825358 未加载
评论 #36702290 未加载
评论 #36699225 未加载
brigadier132将近 2 年前
Gonna say something controversial, the future of mobile apps is going to be webviews. It&#x27;s already the case for desktop. iPhones are getting cpus that are close to desktop CPUs from 5 years ago and they can run 3d games.
评论 #36699390 未加载
评论 #36699255 未加载
评论 #36824239 未加载
评论 #36705167 未加载
meitros将近 2 年前
React native imo. Expo is terrific and the library ecosystem, while it might feel like it’s one step down from web JavaScript, is still robust enough for what you need since there are more than enough people out there shipping rn apps.
评论 #36698805 未加载
sureglymop将近 2 年前
I would use Kotlin multiplatform and Jetpack Compose multiplatform. But mainly because I already know Kotlin. It&#x27;s definitively nicer than typescript though.
评论 #36698872 未加载
评论 #36701136 未加载
bickeringyokel将近 2 年前
Flutter is an awesome developer experience and would probably also make sense for small team that needs to support many platforms. I think I would target flutter if I had to support desktop OS.<p>React-native would probably be preferable if you are just doing iOS&#x2F;Android&#x2F;Web due to the maturity of the ecosystem and wide use in the industry.
评论 #36699261 未加载
winrid将近 2 年前
Nothing beats native.<p>2nd best is what you know.<p>I&#x27;m using egui right now for quickly putting together a native cross platform tool. For a startup, again I&#x27;d pick what you know. RN and Flutter will provide similar experiences for most apps. Flutter will perform better with charts etc.
评论 #36705306 未加载
评论 #36698891 未加载
评论 #36719267 未加载
评论 #36700051 未加载
dvh将近 2 年前
I really don&#x27;t see flutter surviving long term. As it matures it will accumulate hard to solve issues and making shiny new thing will be easier. Does Google have track record of maintaining these kind of projects?
评论 #36699157 未加载
评论 #36704126 未加载
hbcondo714将近 2 年前
I&#x27;m building an app right now in Expo &#x2F; React Native + Typescript for its Authentication library[1] that allowed me to easily integrate Stripe&#x27;s web login[2]. Expo apps can also be exported as PWAs via Workbox[3] so you could have your app distributed on the web plus have a native version in the app stores using a single code base.<p>[1] <a href="https:&#x2F;&#x2F;docs.expo.dev&#x2F;develop&#x2F;authentication&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;docs.expo.dev&#x2F;develop&#x2F;authentication&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;hbcondo&#x2F;revenut-web#-authentication">https:&#x2F;&#x2F;github.com&#x2F;hbcondo&#x2F;revenut-web#-authentication</a><p>[3] <a href="https:&#x2F;&#x2F;docs.expo.dev&#x2F;guides&#x2F;progressive-web-apps&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;docs.expo.dev&#x2F;guides&#x2F;progressive-web-apps&#x2F;</a>
brokenbyclouds将近 2 年前
React Native over flutter all day every day. There&#x27;s almost nothing you can&#x27;t do in the react native world when sticking with the managed Expo workflow these days.<p>After Compose Multiplatform has matured a bit more I&#x27;d be seriously considering using that for everything going forward.<p><a href="https:&#x2F;&#x2F;www.jetbrains.com&#x2F;lp&#x2F;compose-multiplatform&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.jetbrains.com&#x2F;lp&#x2F;compose-multiplatform&#x2F;</a>
jbirer将近 2 年前
I have been developing in React Native since 2019, the ability to quickly create one app for web, one for Ubuntu, one for Windows, one for MacOS while using React functional metholody for me is indispensable. I hate Flutters rendering system and Dart.
WorldMaker将近 2 年前
Have you considered MAUI?<p>I was looking at the newly announced VS Code extension for .NET 8 MAUI development and that piqued my interest again in MAUI. (Also the in-progress performance metrics of the .NET 8 preview using .NET NativeAOT versus classic Mono AOT are fascinating.)<p>The stuff I&#x27;ve been directly building in the last few years has just been PWA&#x2F;WebView [Ionic&#x27;s Capacitor], because web stack is reliable and even more &quot;single development platform&quot;, but I&#x27;ve been keeping something of an eye on MAUI in case it grows up into something great. The newly announced VS Code support helps a lot, especially because that gives you a <i>consistent</i> IDE across Windows, Linux, and macOS. (Which can be important if you are targeting iOS because you have to have at least <i>some</i> macOS time, regardless of what you prefer as your main development environment. In this case, VS Code is much more consistent cross-platform than the odd differences between Visual Studio and Visual Studio for Mac, despite the shared brand name of all three.)
评论 #36700048 未加载
mikece将近 2 年前
Why not a PWA using Ionic (or similar)? A PWA can be packaged as a hybrid app if your need to access native APIs beyond what PWA supports.
评论 #36698634 未加载
ac130kz将近 2 年前
Native<p>+: Great performance, Compose (with multiplatform) is awesome, you also can write basically anything<p>-: Cost is at least 2-3x, if you use a lot of system dependent libraries (and you&#x27;ll probably do), higher skill ceiling and harder learning curve (you&#x27;ll have to learn everything - 5x of RN or Flutter)<p>RN<p>+: Shared web stack is a killer feature, easily pushable code, native look<p>-: Awful performance, the ecosystem is a bit beaten, lots of plugins are poorly supported<p>Flutter<p>+: Time to market is king, performance is fine, huge standard lib, superb libraries for state management, less tiresome to setup proper types than Typescript<p>-: Some long running issues like the lack of static metaprogramming are nuts, wonky threading, non-native look and feel is still (and will probably be) a thing, library support is okayish, could be better (especially, if google actually cared about basic features like a good http client, for example)
TechBro8615将近 2 年前
Interesting timing, since I&#x27;ve just started experimenting with this. I&#x27;m a Web&#x2F;TypeScript developer who wants to create a mobile application which doesn&#x27;t do too much fancy stuff, but will rely on some esoteric WebView logic (think injected scripts) and possibly a Rust module. I&#x27;ve been reading up on Flutter and React Native, and am currently in the process of the Flutter &quot;Hello World&quot; tutorial. So far I&#x27;ve been really impressed with the docs, but I&#x27;m literally on hour two of this experiment.<p>I&#x27;ll probably try React native too, but I&#x27;ve been using React for six years and frankly I&#x27;m sick of it - I wanted a change of pace, and I feel like React Native is a bit of a crutch for web developers. Sure you can keep using TypeScript and CSS and everything in a WebView, but you end up with a janky application that buckles under the weight of all its abstraction layers. And it seems like a lot of effort just to avoid learning something new.<p>What I absolutely do not want to do is code the same thing twice, once for Android and once for iOS. So far it seems like Flutter or React Native are the best options. This blog post [0] convinced me to experiment with Flutter first.<p>[0] <a href="https:&#x2F;&#x2F;stackoverflow.blog&#x2F;2022&#x2F;10&#x2F;31&#x2F;comparing-frameworks-for-cross-platform-apps-flutter-vs-react-native&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;stackoverflow.blog&#x2F;2022&#x2F;10&#x2F;31&#x2F;comparing-frameworks-f...</a>
Oras将近 2 年前
Been thinking of the same question recently. Appreciate all comments sharing their experience.<p>For those saying to native, I completely disagree. Going native for the same app running on multiple platforms will face the following issues:<p>- hard to be consistent.<p>- hard to get the exact same design especially when using native components.<p>- release lags and platform specific bugs. Unless you want to block releases for one app waiting for the other app to catchup.<p>- support effort will double especially if you’re making screenshots and screen recordings.
评论 #36704464 未加载
kcorey将近 2 年前
Depends. If it&#x27;s a hobby, learn both to be more valuable.<p>If it&#x27;s for a business? How much money do you have to throw away? Does the app pay for itself, or is it a cost centre? (99.9998% of the time, it&#x27;s a cost centre.)<p>You really asked the most boring part of that question. Most of the answers below suggest that the app is defending its territory, etc. Malarkey.<p>Just like you&#x27;re not winning the lottery, you&#x27;re not writing a standalone app that can pay for itself.<p>Why? Hundreds of thousands of apps exist on each platform right now.<p>For your app to stand out enough to be successful it needs synergy with <i>something</i>. A web site, a service, a IRL business...&#x2F;something&#x2F;.<p>Tha says to me: do the cheapest possible thing. If you have React devs, use that. If you don&#x27;t, find the alternative cheapest possible way. Flutter? Maybe. Nocode (like Glideapp, <a href="https:&#x2F;&#x2F;www.nocode.tech&#x2F;category&#x2F;app-builders" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.nocode.tech&#x2F;category&#x2F;app-builders</a>)? Maybe.<p>Pick the fastest&#x2F;cheapest way to get an app out to validate the concept. Once validated, then you&#x27;ll have enough information to know what pain points you have, and what solutions you &#x2F;really&#x2F; need.
flax将近 2 年前
I&#x27;ve been building a game in Flutter for the last couple of years, and I absolutely love the dev experience. Dart is the best language I&#x27;ve used professionally in 20 years (for reference: Dart, Java, JavaScript, TypeScript, ActionScript3, Kotlin).<p>I do web stuff for my day job, and I just HATE the javascript&#x2F;typescript house of cards build system and npm. Flutter&#x27;s pub is great, and the builds just work.<p>I chose Flutter because I already liked Dart, and I was building a game to play with my wife, so it had to be cross-platform from the beginning. That was difficult since I don&#x27;t have any Apple hardware. But I was able to get things going by borrowing hers for a minimal setup then offloading production builds to codemagic.io.<p>Shameless self-promo: <a href="https:&#x2F;&#x2F;MarkMyWordsGame.com" rel="nofollow noreferrer">https:&#x2F;&#x2F;MarkMyWordsGame.com</a>
starik36将近 2 年前
There are also 2 paths that .NET offers that you might want to consider.<p>First one is Maui, which is a cross-platform toolkit supporting iOS, Android, Mac, Windows, etc... This generates a native app on each platform. Second path is embedding a Blazor app in a Maui skin, so Electron like.
wiradikusuma将近 2 年前
If you don&#x27;t mind following my approach, I&#x27;m writing a book ( <a href="https:&#x2F;&#x2F;opinionatedlaunch.com" rel="nofollow noreferrer">https:&#x2F;&#x2F;opinionatedlaunch.com</a> ) for building and launching mobile apps end-to-end. It&#x27;s for solopreneurs who can code and a small team of up to a dozen devs.<p>It covers not only the mobile app, but everything else. So, opinionated. There are many ways to make a mobile app and its supporting ecosystem, and it defeats the purpose if I simply explain everything there is and let the reader decide how they want to proceed. Not to mention I will never finish writing that kind of book :)
solarkraft将近 2 年前
As a user I tend to prefer React Native apps. Flutter feels distinctly off in some places (more on Android than on iOS) and apps made with it sometimes show serious slowdowns, which the native toolkits tend to not do.
willio58将近 2 年前
The fact that Flutter is tied to Google is a huge reason in my eyes to not trust that it will survive long-term.<p>I agree with others saying native is the way to go.
评论 #36704171 未加载
评论 #36721539 未加载
jamil7将近 2 年前
If mobile is integral to this business then go native and launch with whichever platform makes sense first, push as much logic to the server as you can or write some shared Kotlin Multiplatform or Rust components. Otherwise I’d start with a webapp or maybe React Native, Flutter still feels pretty risky to me personally.
kahnix将近 2 年前
This might be derailing but I&#x27;ve personally had a lot of success with CapacitorJS + Nativescript, which is a Webview with hooks into native API&#x27;s for anything you might need access to at a lower level. But out of the list I&#x27;d probably pick Flutter, I don&#x27;t really see Google culling it anytime soon.
theironhammer将近 2 年前
What about <a href="https:&#x2F;&#x2F;dioxuslabs.com&#x2F;">https:&#x2F;&#x2F;dioxuslabs.com&#x2F;</a>?<p>It uses the Rust language for development.<p>&quot;One codebase, every platform. Dioxus is a React-inspired library for Rust focused on developer experience. Build fast, beautiful, and fully-featured apps for every platform in less time.&quot;
swah将近 2 年前
Are you going to code it? If its &quot;business app&quot; I&#x27;d say RN is great (Expo?). PWA also to consider for some cases. Honestly I wish PWA was a bigger thing. Why do I have to install an big app just to rent a bike, etc.
keb_将近 2 年前
For what it&#x27;s worth, I&#x27;ve actively started to avoid React Native apps due to performance and APK-sizes, especially now that phones become obsolete so quickly.<p>Haven&#x27;t had much experience with Flutter apps.
wetwater将近 2 年前
I am in a situation right now where I have to deliver on all three platforms. I chose Flutter because I just couldnt do anymore JS.
upmostly将近 2 年前
Neither.<p>The developer experience for both is awful, especially after you&#x27;ve been spoiled to an amazing dev ex from RedwoodJS.
评论 #36699889 未加载
patatino将近 2 年前
I worked with both. Honestly, it doesn’t matter. Choose what you like more
moomoo11将近 2 年前
Flutter<p>Dart is a nice language.<p>Lots of libraries.<p>Easy to fill in the gaps.<p>Manageable to bridge native.<p>Great community.
revskill将近 2 年前
Why not web PWA ?