14 ms·
Jitsi Meet Flutter SDK
- ozten 3y agoDoes Flutter have enough marketshare, to make this the next best investment of time and energy?
- wiradikusuma 3y agoI'm literally writing a book (https://opinionatedlaunch.com/ https://opinionatedlaunch.com/) that heavily promotes Flutter, so I'm biased :) If your use case is "typical" like 90% of the apps out there, I think there's no reason to invest in native anymore (I did native Android a while back, so I can't comment if you're coming from iOS). Flutter has very strong developer productivity (such as "press Cmd+\ to auto-reload"), wide array of plugins (now with official Firebase plugins). Heck, somebody wrote a "Visual Basic" for Flutter (https://flutterflow.io/ https://flutterflow.io/) using Flutter.
- altfredd 3y agoFlutter is nice, but "typical 90% apps" can be written with literally anything. The real problem with Flutter is it's tendency to attract bottom-of-the-barrel cheapskate customers. I don't want to double down on my earlier mistakes and box myself into lower-paid 10% of already lower-paid (compared to iOS) Android development market.
- plumeria 3y agoWhat do you think of React Native in this regard?
- anta40 3y ago>> ...but "typical 90% apps" can be written with literally anything. OK let's put a constraint: multiplatform. Take Flutter out of the equation, then what do we have: RN, Ionic, Kotlin Multiplatform... what else? - RN, Ionic: errr I'm still having nightmares reading JS/TS code - Kotlin Multiplatform: not stable yet?
- snovv_crash 3y agoQt and MAUI come to mind. Qt can even be deployed to embedded systems if that's your jam.
- tazjin 3y agoI think it's absurd to say that "developers can press Cmd+\, which is so good that we will accept a ~15% worse UX". The industry has very strongly decided that developer "productivity" is more important than anything else though. It's sad.
- moonchrome 3y agoThat's an extreme oversimplification. Most apps are budget constrained - doing 2x native over flutter budget doesn't get you 15% better UX. It probably doesn't even give you two working apps in the budget. And getting to them you're still likely 2x bugs and worse UX because of the time spent redeveloping common shit. If you're not budget constrained, have a team that can execute better UX without flutter, and this matters to your app - go for native. But there's so many scenarios where it doesn't.
- jwells89 3y agoIt depends on the app, but the costs for maintaining iOS and Android separately don’t seem like 2x… with how similar Swift and Kotlin are to each other and Compose greatly streamlining what used to be a real mess (Android Framework), it’s closer to maybe 1.2x or 1.35x. More expensive but not terribly prohibitive, plus it saves some trouble in the future when/if features that don’t play nice with whatever cross platform framework are needed at some point down the road. Dual native also gets you better portability to new platforms branching off of iOS and Android — for example most native iOS apps can be turned into suitable AR apps for visionOS with two clicks and it does most of the UI adaptations required for you. Flutter won’t be able to do that for years if ever.
- realusername 3y agoI don't think native necessarily bring you better UX, or even better speed for that regard. On my very low end Android device, Flutter apps are more responsive than the native ones.
- robertlagrant 3y ago> The industry has very strongly decided that developer "productivity" is more important than anything else though. It's not productivity, it's cost. If an app costs twice as much to build for "20% better UX" then that's ridiculous. You can release earlier and spend half the difference on bugfixes/polish/additional features based on what you see in the wild.
- Larrikin 3y agoThere's a lot of effort to make kotlin cross platform
- esafak 3y agoIt just needs more multiplatform libraries.
- WhereIsTheTruth 3y agoLook at the number of projects that offer a Flutter sdk, that'll give you an idea how popular it is https://github.com/search?q=flutter%20sdk&type=repositories https://github.com/search?q=flutter%20sdk&type=repositories
- synergy20 3y agoafter trying flutter I ended up with react native for mobile, wxwidgets for desktops, both solid and I don't need learn yet another language dart, I actually like dart but there are only so many languages I can focus
- SV_BubbleTime 3y agoI think the very common recommendation is that if you know JS well, use react. If you know C++/#/Java, then you’ll get Dart quickly.
- synergy20 3y agoif your app needs to do cloud, cloud sdk for dart is very uncommon
- SV_BubbleTime 3y agoWhat are you talking about? GCP support in Flutter is excellent. You know… because Google…
- synergy20 3y agowhat about aws and azure? I was looking for them but it's a while ago, not sure if both added dart SDK yet nowadays.
- baq 3y agoLanguages are tools, after you learn a couple or so they’re all mostly the same and it’s the quirks that differentiate them. (Yes C and Coq are quite different, just don’t) Now if you’re talking about ecosystems, package managers, CI/CD…
- synergy20 3y agoit's the whole package of course,the language,tools,libraries,etc
- deleted 3y ago[deleted]
- la_fayette 3y agoThere are app market analytics tools, which among other things, also check how many apps use cross-platform technology. Flutter is among the most widely used: https://appfigures.com/top-sdks/development/apps https://appfigures.com/top-sdks/development/apps
- guideamigo 3y agoThis stat is not relevant. A more relevant stat would be to filter out apps with a threshold of downloads. I would be curious to know how many apps with a 1M+ downloads use these frameworks.
- kugelblitz 3y agoPopular apps used to be non-popular apps. So you would want to reach people early. I can imagine many big / popular apps switch to native once they have the resources to do so but start off with cross-platform.
- JimDabell 3y ago> I can imagine many big / popular apps switch to native once they have the resources to do so but start off with cross-platform. Not really. Startups looking to keep costs as low as possible tell themselves this and there’s a lot of advice out there from people who will tell you the same, but it’s very rare. If you are tempted to go with the cheap option and plan on switching once you have the budget, make your peace with the fact you will probably be stuck with the cheap option forever.
- thijser 3y agoAppBrain shows market share stats for all apps and also for the top ranked apps: https://www.appbrain.com/stats/libraries/details/flutter/flutter https://www.appbrain.com/stats/libraries/details/flutter/flu... 6% of the top ranked apps use Flutter.
- guideamigo 3y ago
- itake 3y agoAt my day job, our app has both native and flutter runtimes and it has not been super fun managing the two. 1. Common libraries (api clients) need to be built for all 3-runtimes (swift, kotlin, and dart). 2. Flutter runtimes increases the app size (539kb vs 4,700kb [0]), which is a problem for apps that are already too big. [0] - https://medium.com/android-news/comparing-apk-sizes-a0eb37bb36f https://medium.com/android-news/comparing-apk-sizes-a0eb37bb...
- pzo 3y agoNot sure how it's on android market but on iOS app store its pretty rare to have app update (yep just update) that is less than 100MB even though all those apps were native - I know it's pretty crazy but this is were we live.
- itake 3y agoMy day job operates in a market where users have low-end and past generation phones. The users literally don't have the space to install apps, so they don't.
- tbarbugli 3y agowe (getstream.io) built an official SDK for Flutter and it was definetely ROI positive
- satvikpendem 3y agoThis is very useful, I was looking to make a cross platform video calling app a while ago and this would have saved tons of time.
- villgax 3y agoJitsi been such garbage to work with. Their own self published numbers of the participants in an average video call is 3. Which is a piece of cake for p2p WebRTC calling which scales without a media server upto 9-10 participants on modern hardware and network. For extremely high users in an effective webinar you'd anyway need HLS based streaming so what even is the point of a media server at that time
- chabad360 3y agoThe benefit of using jitsi is that you don't have to build the stack yourself.
- v3ss0n 3y agohttps://github.com/livekit/ https://github.com/livekit/ It dosen't limit number of P2P participants.
- villgax 3y agoThe benefits of properly using WebRTC is you don't need a media-server
- russ 3y agoIt really depends on the use case. In vanilla WebRTC, all media is transmitted directly between peers. In practice, this doesn’t scale beyond 5-10 users in a session. Most home internet connections can’t sustain that amount of upstream bandwidth.
- manishsharan 3y agoI am curious .. how would you convert an inbound webrtc stream (from the presenter) to HLS for a broadcast to the viewers? Wouldn't the lag make it unusable?
- villgax 3y agohttps://blog.cloudflare.com/webrtc-whip-whep-cloudflare-stream/ https://blog.cloudflare.com/webrtc-whip-whep-cloudflare-stre... It's just a matter of pipelines with ffmpeg
- Joel_Mckay 3y agoOK, now someone add direct peer-chat to a Mastodon client, and integrated web based click-to-conference options. =)
- deleted 3y ago[deleted]
- quickthrower2 3y agoJaaS is a pretty nice solution. Well documented and works effectively.
- aviavinash 3y agoThis is so much valuable but a bit late, i was looking for such flutter plugin like crazy specially during the pandemic for usecase of making online live class in my application. At that time went ahead with BigBlueButton, but that was a monolithic application.
- v3ss0n 3y agoLivekit is much more developer friendly , easy to setup , and really powerful alternative to jitsi . https://github.com/livekit/client-sdk-flutter https://github.com/livekit/client-sdk-flutter It have spatial audio , much better performance , easy to configure backend for UDP Holepunching , STUN/ICE or TURN Relay.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- xvilka 3y agoI wish Jitsi had a good native (Qt, for example) GUI client.
- dijit 3y agoCould this be related to the new mobile app for Zulip, which is being written in Flutter?[0] (Zulip uses jitsi as a default meetings provider). [0]: https://github.com/zulip/zulip-flutter https://github.com/zulip/zulip-flutter
- max_ 3y agoI find Flutter way more technologically superior than React Native. But I still don't understand why most companies still focus on React Native for their cross platform development. It is fantastic for side projects and personal projects or when you are contracted. But I find it very difficult to get a job with Flutter. Google needs to do better marketing for the technology. I learnt Flutter and find that it's very hard to get a Job with the technology.
- boo-ga-ga 3y agoI think that Flutter apps by the framework's nature will always have non-native appearance and feeling to at least some extent. And this makes it not very good fit for apps with a sufficient budget and the need for native appearance. It's definitely good for small one-person projects, but the job market for these is not very lucrative.
- robertlagrant 3y agoIsn't that also true for React Native?
- mvid 3y agoNot really. RN usually defaults to system components
- ohgodplsno 3y agoSystem components is not a thing on Android. You've not seen the default EditTexts in years. Material, which you'd consider the default is a library, whether in XML or Compose (and Compose is a reimplementation of them). Also, Android has never pushed for unification of UIs. Use Material if you want because it's an alright design system, or write yours entirely from scratch. React Native & Flutter look... Exactly how you want them to look. Unless there's a bug in Flutter's Material implementation, it'll be the same.
- 3y ago
- Cloudef 3y agoThe less I have to touch the java ecosystem the more happy and productive I become ... Also managing multiple codebases sucks. Still have to write the native parts in their native languages but it's better than the alternative.
- account-5 3y agoA little off topic but why is it that whenever a Flutter/Dart topic actually gets some traction on HN the technology gets so much hate (might be too strong a word but I can't think of anything better just now). For me personally, not a professional developer, and certainly for personal projects if not for projects that need to be cross platform, I don't see a product with less fruition/baggage. I'm not saying it's perfect but it seems the best there is, especially if you're coming at it without any previous dev experience. I get the Google thing. But dart/flutter do seem integral to Google going forward so I don't see them abandoning them any more than they'd abandon Go at this point. Could be wrong though.
- deleted 3y ago[deleted]
- white_dragon88 3y agoThe fact that you need to learn a niche language like dart just to make stuff in flutter seems to me like technical baggage I could do without.
- mhoad 3y agoI’m actively trying to move more and more of my stuff into Dart these days it’s actually an amazing language to work with.
- sabellito 3y agoWhat do you find amazing about it?
- jononomo 3y agoThink of it the other way around: Dart was created for the sake of Flutter. You seem to think that the framework designers at Google just decided to pick a niche language called Dart to write Flutter in when they could have picked Javascript to write Flutter in. No. They decided to make the design of Flutter as a framework so clean and pure that they would have to work backwards to figure out what language it would need to be written in and then they created Dart. At least that's how I like to imagine it.
- josteink 3y agoGood for Dart-developers I guess. But who on earth is bothering with Dart in 2023?
- danuker 3y agoWell, at least on Google Trends, "Dart programming" is 4-5x more searched for than "Clojure programming".
- jononomo 3y agoDart was built for Flutter -- why would anyone use Dart other than for Flutter development?
- g8oz 3y agoAsk the Sass lang folks.
- teg4n_ 3y agoIIRC it was rewritten in Dart by Google. I’m sure it was incentivized
- g8oz 3y agoI had to look this up, and yes, it was written by a Dart team member who also was on the SASS project and did it as part of their 20% time. https://groups.google.com/a/dartlang.org/g/misc/c/9V_mS2IHT_Q https://groups.google.com/a/dartlang.org/g/misc/c/9V_mS2IHT_...
- saghul 3y agoWe got requests from users / customers who wanted to integrate Jitsi Meet on Flutter, so we went for it :-)
- vsnf 3y agoI have little to add to the article in question, but I’d like to say that I’ve fallen quite in love with Flutter and Dart. I think of Dart as being C#-lite, although the latest changes with class modifiers have somewhat complicated the sentiment. For reference, my background is in OOP/JavaScript land, with patches of Scheme, Rust, and way more Go than I ever wanted. I really think Dart is one of my favorite languages, it’s just a joy to work in. Clean, fast enough, and to my experience so far, footgun free. I also know @munificent here is a principal developer of the language, and he’s done a good job. (But in case he’s listening, please add Rusts discriminated enums, it really hurts to move from a language with them to a language without them.) As for Flutter, as a WinForms and UWP developer, coming to terms with its Dart-declared UIs was tricky, especially when coupled with the constraints based layout system. But I’ve long since crossed the threshold in my mind, and now I can strongly say I don’t want to program UIs in anything else again. The one real complaint I can agree with is that the ecosystem kind of sucks, but it’s growing and getting better. I’ve seen some profound growth in the area over the last two years.
- agacera 3y ago> (But in case he’s listening, please add Rusts discriminated enums, it really hurts to move from a language with them to a language without them.) I'm not a programming language expert, but my understanding is that discrimitated enums is jut a way to support sum types. Dart now has the sealed class modifier [1], that fills this role. https://dart.dev/language/class-modifiers#sealed https://dart.dev/language/class-modifiers#sealed
- cageface 3y agoI recently had an idea for an app that would work on Mac, Windows, iOS and Android (and maybe even Linux). After considering the options I decided to prototype it in Flutter and so far I've been pleasantly surprised. Despite having to learn a new language and UI framework I've made rapid progress and I've been able to find solid third party packages for most of what I've needed that isn't in the framework itself. Even calling into native code via FFI was surprisingly straightforward and the ffigen tool worked without a hitch. Passing off heavy CPU work to background workers was also trivially easy. Dart isn't a flashy language but it's easy to learn and overall I much prefer it to the JS I have to deal with in my day job. My main hesitation now is Google's longer term commitment to Flutter. They seem to be putting a lot of resources into it at the moment but who knows if that will be true a few years from now?
- shipscode 3y agoFlutter is the hottest astroturfed framework since svelte.
- mhd 3y agoI haven't had a look at Dart for a long time (last time to see if it could do Angular with less pain). IIRC the original chief developer left Google and the language took a rather different turn, towards more type(script)-iness. Flutter looked pretty much like its own Electron, so not primarily interested in that.
- saghul 3y agoThanks for posting this here, kind stranger! Fun fact about the Flutter SDK: it's a wrapper over our native SDKs, which themselves wrap our React Native codebase :-) Right now we have a shared codebase between web and react-native, and from there are able to provide all our mobile SDKs: - Native Android SDK (Java wrapper for RN) - Native iOS SDK (ObjC wrapper for RN) - React Native SDK (JS component of the RN parts) - Flutter SDK (Kotlin / Swift wrapper of the Java / ObjC SDKs) It has been quite fun to work on these!