Hacker News new | past | comments | ask | show | jobs | submit login

I actually don't have any experience in that, but I think that you can absolutely do it. From what I understand, the IDEs just call the Flutter CLI and Dart analysis server, among other tools to get stuff done. From the top of my head, "flutter run", "flutter test", "flutter analyze", "flutter packages get" would be the commands you'd be using the most and could survive without using any IDEs. Of course you'd lose the autocompletion along with other IDE niceties, but I really believe that could be done. One thing is you might have to open XCode once to do the provisioning profile setup, but after that you should be good.

I'm hoping someone with more experience could chime in.

Thanks. Is having XCode necessary in order to build and publish for iOS (I guess yes)? I don't use apple computers and use linux, so if that's the case I'd need to buy a Mac and XCode to do so, no?

For iOS apps, you need a Mac. Maybe (and this is theoretical) you could set up a combined Fastlane & CI integration that builds the apps using some cloud service, such as Macincloud, Bitrise, etc. Fastlane would then build and upload the iOS test builds automatically so can use them on your phone using the internal testing group in TestFlight. When everything seems fine, then you can just promote the internal test build to production. Since Flutter custom renders everything, you could do most of the development on a Linux machine and test on Android emulator/device.

For just Android, you don't need a Mac at all.

WRT cloud building: yes, it'd be more ideal to have a Mac especially if you want any platform specific UX or features but you can definitely get around it using just a Linux machine, an iOS device and some CI system.

The Flutter project itself does it at https://github.com/flutter/flutter/blob/master/examples/flut.... You can then self-add to your TestFlight and check that way. Though you can't debug.

You can also get around it using just a Linux and an Android device. You can press 'o' after you flutter run to change the platform on the fly to get iOS scroll physics, page transitions etc etc. But again, testing on the devices your users will be using is more ideal.

[disclaimer: I'm on the Flutter team]

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact