My group is currently evaluating flutter as a possible cross-platform tech to be used for faster development of our existing g mobile apps on both iOS and Android. As part of this evaluation, we’re putting an emphasis on the integration between flutter based features and other, natively implemented, modules and features.
To get started, we’ve been following flutter’s official guide page (https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps), which gives a very basic intro to such integration.
My question regards the integration of flutter into existing iOS apps, specifically the fact that “Currently the flutter aot compiled code is not compatible with bitcode”. Our current app runs with bitcode enabled and if this is really the case, it can be a cardinal consideration for not adopting flitter at this time. Your response will be greatly appreciated
Unfortunately Flutter currently is not compatible with projects using bitcode.
There is an issue tracking this, hopefully they add support soon....
https://github.com/flutter/flutter/issues/15288
Related
Myself and a team are starting a potential startup and one of the things we want to do is a mobile app. We have already identified the target audience to mainly be iPhone users. But here in the US there's still plenty of Android user so we've been considering using a cross platform framework like Flutter. I've seen a lot of praise that Flutter is easy to use and can help us deliver an MVP faster. My ideal situation is to start developing with Flutter and when the app is successful migrate it to a native iOS app using Swift. But is that possible at all? Or if we decide to go native when we already have a flutter app, do we need to start from scratch?
Developing a Flutter app is completely different from developing an Android or iOS app. It has different language, has it's own architechture with it's own packages/dependencies/plugins.
You cannot convert from one of them to the other.
I need to provide SiriKit feature to my Flutter application.
It is not very clear for me if it is possible or not.
For my point of view, it is not possible because Flutter does not support Bitcode generation.
In parallele I can see that bit code support is planned or some people have done some tests regarding this.
Can someone clarify the status ?
For SiriKit APIs
Flutter Platform Chanel
Flutter uses a flexible system that allows you to call platform-specific APIs whether available in Java or Kotlin code on Android, or in Objective-C or Swift code on iOS.
for bit code support see :
Creating an iOS Bitcode enabled app (experimental) · flutter/flutter Wiki
also read Add Bitcode support for iOS · Issue #15288 · flutter/flutter
Note :
To be clear and i didn't use sirikit even for normal development
I want to know whether google is planning to support any other platforms other than iOS and Android for Cross platform development using Flutter.
Like React native windows for React native does flutter have framework that would support windows phone development?
Nobody can answer this question except Google, however it seems very unlikely that anyone would put effort into Windows Phone when even Microsoft are not:
Of course we'll continue to support the platform.. bug fixes, security updates, etc. But building new features/hw aren't the focus. 😟
https://twitter.com/joebelfiore/status/917071399541391360
As for:
support any other platforms other than iOS and Android for Cross platform development using Flutter
This is not officially supported, but lots of people in the community are interested in running Flutter on desktop and have been playing around with it. Maybe in future it'll cover more platforms even if they're not official or from Google.
https://github.com/google/flutter-desktop-embedding
A job we are doing right now has windows phone compatibility as a requirement.
My suggestion is to look into exporting Flutter to Web and then making a windows app which is just a full screen webview and loading the flutter web app in the app's internal webview.
Some cross compilation frameworks like Adobe Air, Marmalade sdk, Trigger.io and Embarcadero allow one to build test and debug applications from a windows machine. Do they violate the iOS SDK license agreement? This agrement forbids to distribute derivative work of the SDK which is the certainly the case with the above mentioned products. Is it safe to use this products for development or is there a concrete danger that Apple will retire any app developed with these solutions?
I can comment on the trigger.io side of things..
My understanding of things is that the forge build process is acting much like testflightapp, just without the download / install process.
You never actually download / use the apple SDK so its hard to say if you are violating something that you are not using directly.
Forge, just like all build services, has a build server. The build server contains the IOS SDK for packaging. As long as your certs and provisioning files are correct it will package it up just fine. The forge process simply installs it after the fact, again similar to testflightapp.
As for apple knowing you tested in a specific manor.. I don't know how they could even know because the end package is just an ipa file, you still have to submit via a mac.
My team has developed a big social networking app. Now i want to publish it to app store. But the app is not written in Objective C. What is the way to get it published in app store? Or least how can i open in in Xcode simulator for testing and enhancement?
My guess is that you created an app in android and now want to port it to iOS. Unfortunately Xcode isn't able to transform Java to Objective-C and iOS cannot run Java apps, so you will not be able yo submit your app as-is to the App Store.
You will have to do it the hard way and rewrite the entire app in Objective-C. Luckily Google recently launched a translator that might help with part of the work: http://google-opensource.blogspot.com.br/2012/09/j2objc-java-to-ios-objective-c.html
You cannot. Sorry.
I recently worked on an app for iOS and Android launch and we settled for parallel development.
Your Java code is incompatible with iOS and Xcode has no process to convert it to Obj-c.
The only options for cross-platform development that I am aware of are:
1) Heavy use of c/c++ based libraries; these can be utilised in both Android applications and iOS applications (this is what we used). But the entire front end of the apps must be re-implemented.
2) A cross-platform framework such as PhoneGap or Appcelerator, but this would require significant redevelopment from your current code-base.
3) A 'translator' such as the one Breno Gazzola suggested (another option is XMLVM) but these only do some of the work for you, and they're far from perfect.
It's very hard to judge without knowing your code, but if I were you I'd look at combining options 1 and 3 as much as possible, but budget for a complete re-write.