5 ms·
If you want to do android development, Kotlin. If you want to do multi platform development, flutter. I think flutter will be an amazing tool for smaller team
by jaabe 7y ago
If you want to do android development, Kotlin.
If you want to do multi platform development, flutter.
I think flutter will be an amazing tool for smaller teams, especially in non-tech-primary organisations. I work in the public sector of Denmark, we do in-house development, our main focus is the public services we provide though. So there is just no way we can do mobile, desktop and web without something like Flutter, or severely increased funding. The latter won’t happen, but flutter might.
- rattray 7y agoWhy not React / React Native?
- toan3rd 7y agoIf i understood it correctly, React Native basically gives you a JS runtime environment that handles communication with native APIs of the system and is shipped with your app. Flutter (and Dart) will transpile into native code and compile natively for your platform. So on React Native you will have that abstraction layer add runtime latency and package size of your app, while Flutter (Dart) really outputs native code.
- ptx 7y agoFlutter gives you native code but not native UI. It reimplements and draws everything itself (mimicking the native look), like Swing or Qt. React Native is the other way around - real native widgets backed by interpreted/jitted JavaScript code.
- fauigerzigerk 7y agoAs I understand it, Flutter/Dart is compiled to native code but not using any of the native UI widgets. To get native code plus native UI widgets plus some cross platform reuse you'd have to go with something like Xamarin.
- bacro 7y agoWhen React Native's fabric rearchitecture is available you will see much better performance. The thing that hurts performance today is that damn bridge communication between javascript and native that will be severely improved in fabric.
- ricardobeat 7y agoPackage size for Flutter apps is a lot larger than RN, even the RN Android build that ships it’s own JS runtime. There are complaints everywhere of simple apps reaching 100MB size. As for runtime latency, I’ve recently worked on a RN app that outperformed its native sibling. Looking forward to the Fabric release.
- miyoyo 7y agoUnless you're importing a ridiculous amount of packages and assets, you'd never hit 100MB with simple apps, that's just people looking at debug mode and thinking that it's the final app size. Simple apps can easily be under 8MB once compiled.
- amarokaz 7y agoNot really true, you are likely comparing a debug build. An Android Flutter apk sits around 4MB for smallest app. Most of my apk sizes are around 8MB-10MB w/ Flutter
- ricardobeat 7y agoI haven't written any myself, going from reports online that builds are a lot larger than expected. That minimum size is for an app without any components or other modules. The RN app I mentioned was ~6MB with a fully blown app, state management, heavy data layer, hundreds of components, animation, i18n, a handful of native modules, encryption, and so on. In short, Flutter doesn't really have any advantage in size over RN.
- equasar 7y agoReact Native has a JavaScript layer that hurts performance and it is not truly native as they say. Just do a reach on flutter vs react native and you'll see better explanations and comparisons.
- vonseel 7y agoI’m not sure this really matters for a lot of things anymore. Sorting a few hundred text items in a list, for example, is going to be so fast on modern smartphones that it will not make much of a difference whether it’s done in JavaScript or native. Maybe a poor example, but I suspect the only times it really makes a difference is significantly computationally expensive tasks
- kkarakk 7y agoso? most apps are by nature going to be computationally expensive if they want to compete/successfully use all phone features. i made a simple(according to them) corporate data sync app recently and the company wanted a laundry list of features - background sync, smooth scrolling of extremely large datasets, photographic analysis of images taken at tolls(extracting license plate information/classifying vehicles automatically for tracking). All of this had to be made in a performant way so as to run on phones with 1 gig of ram as the company was giving phones to everyone specifically for just this purpose(and general communication ofc).However it also needed to work on iphones/windows phones(old ones the execs purchased en masse) Xamarin was the only choice att as react just doesn't work stably on windows phones but i'm excited to see the future
- vonseel 7y agoYour app sounds like it used some advanced features, but I don’t think most apps are going to be computationally expensive in the way that local-AI, image processing, or crypto activities might be. I am not sure what qualifies as extremely large datasets, but I’d be surprised if keeping a few dozen objects in order is significantly lower in JS than Swift. Yes, it may be an order of magnitude slower - or ten orders - but that seems negligible if the total time for processing is still nanoseconds. Guess it always comes down to the task at hand.
- rkangel 7y agoWhen I made the decision in December: Preference for Dart over JS (lots of reasons, involving language, package manager, compiled performance) Predictable UI behaviour across devices, OS versions, platforms. As long as you handle presence/absence of device features, and build your UI to scale properly, it behaves as you would expect, everywhere. The value of this cannot be overstated enough. Future opportunity for code sharing with non mobile platforms. Even without Flutter-web, I could still compile the business logic part of my code to JS and use it with another UI (similar things can be done with React).
- skinnyasianboi 7y agoI have to correct you. If you want to do android development, Kotlin If you want to do multi platform development, Kotlin multi platform Kotlin mpp is still in beta but it works pretty amazing. I have 1 app in production that shares models/API/database. The UI on Android and iOS is native and platform specific. I highly recommend it.
- kkarakk 7y agoNot naysaying you but i learnt kotlin and flutter this past year(from january). flutter has an AMAZING experience for the things that are "done", kotlin multi platform only does one thing well - kotlin. it's basically like xamarin with C# swapped out with kotlin(and that sucks as much as kotlin mp does right now even after 3 years of ms acquisition time).
- skinnyasianboi 7y agoThe development experience with flutter is great, that's right. But I don't like the end result. It feels very close to a native app but still not 100%. And I think it will always be a step behind. One benefit of kotlin mpp compared to xmarine is, that kotlin mpp is not limited to iOS/Android. You can have a shared code base between web frontend/Backend/iOS/android and even macos/windows/linux and all native. One language to rule them all.
- SneakerXZ 7y agoYou should check all platforms where you can run C#. It runs everywhere.
- skinnyasianboi 7y agoI didn't think that through, you are actually right. With project Blazor I guess also in the browser.
- skinnyasianboi 7y ago