Flutter IOS & ANDROID Widgets Implementation - flutter

I wanted to ask about the implementation of IOS & Android Widgets for Flutter.
Current Scenario :
Basically, i have developed the app on android platform and now i want to convert it to IOS platform. Since this is my first app, i really need some experienced voice on some issues i am facing.
Questions :
1 - Is there any simple way to detect that the widgets currently used are of Android/IOS Platform ?
How can we know for sure that a specific widget is of Android platform and is not going to work on IOS platform and vice versa.
2 - If somehow we know for sure that the current widget we are using is of Android platform, then how can we find its equivalent widget to implement for IOS platform.
3 - Are these widgets specifically required when we are going to upload/publish to these platforms respective stores. For example in a scenario where i hadn't converted all of my android app widgets to ios widgets and when i try to publish the app for IOS store, does the IOS Store rejects that or not?
Any suggestions or help is greatly appreciated.

All standard widgets will work on iOS as is. Flutter paints the UI, rather than call the native APIs. You might use a plugin that does not support iOS, but I have not yet come across such a plugin on pub.dev.
If you want to write platform specific code, you can import dart:io and use the boolean Platform.isIOS or Platform.isAndroid.
Both the App Store and Play Store have specific requirements before your app is approved.

In case you really want to have Android specific widgets on Android devices and iOS specific widgets on iOS devices, then use the Flutter Platform Widgets package. This will exactly do that - drawing iOS buttons using the Cupertino library and Android buttons using the Android library (and most other widgets as well).
As #Mudassir mentioned in the other comment this is not a requirement. In case you go with the default widgets, you will have the same look on all devices (even web, Windows, etc.).

Related

Build SDK in Flutter/Dart and use it from Java / Web

We are building an application in Flutter, which is composed of an SDK (no UI Code) and a Flutter UI, using the SDK.We have now the requirement to provide the SDK for other, native target platforms (iOS, Android, Web, JVM) and use it in existing applications. As far as we have understood this is possible for iOS and Android. But is this also possible (or planned) for Web and JVM? We simply want to minimise the effort to build the similar SDK in various platform specific technologies.
Thank you!
You can build your Flutter app targeting web https://docs.flutter.dev/development/platform-integration/web/faq#is-the-web-version-of-flutter-ready-for-production
If you want to target the Desktop then check https://docs.flutter.dev/development/platform-integration/desktop to see if it meets your requirements.

Flutter Ambient UI - What should be the optimised approach for production level responsive app in web, android and ios platform using single codebase?

I was trying out flutter platform to create a multipage website with android and ios responsiveness using single codebase for my flutter app. I've already tried some single page samples in flutter which are following,
Flutter web, android & ios using Stacked architecture & Responsive_builder
Flutter web, android & ios using MVVM & Responsive_Framework
Flutter web, android & ios using simple Getx package.
All of them are working fine, but what I want is to collect your opinions who have already created a production ready app in flutter web.
Should we consider using Navigator 2.0 for flutter web responsiveness?
Does responsive_framework package work fine if we have complex designs because I'm not confident about the font size and styling application using it?
Can we use any other app architecture, responsive package, design pattern or any other concepts for multipage production level use cases.
Any suggestions would be appreciated.
Thanks.

Do iOS and Android Flutter widgets also work on Flutter Web(PWA)

I'm interested in using Flutter primarily for my startup MVP on Web and possibly Android. I see the flutter community has made a lot of widgets but a lot of them are tagged iOS or Android. Since Futter is all about using one codebase is it wrong to assume that these widgets would work on web too? I imagine the setup would be different but similar with a Flutter web app as opposed to a Flutter Android app.
I couldn't find a whole lot about this on the Flutter site. I also know that web is still beta but by the time I'm done with the MVP it'll probably be at stable release or close enough.
Well... It depends. If the widget has some sort of native code the answer is no. In Flutter there are two type of packages: the "normal" package, and the plugin.
The packages are made only of dart code, so there are no bounds to native, and you can use everywhere dart (and Flutter) can run.
The plugins are packages with native code and you can use only on the platform supported by that plugin.
For example the package provider, it's a package, and you can use in every supported platform where dart (and Flutter) can run. But url_launcher, it's a plugin, so you can run only on Android, iOS, and web, but for example on desktop, it will no work.
If the package if you found it's only a widget, you should be able to use on the web.
TLDR: No,a PWA it's a web app, so it can't run Android or iOS specific code.

Including a native SDK (for IOS and Android) into flutter

i am currently facing the following problem and I hope someone can help me out:
I want to write an app in Flutter (yes I already compared this framework to others like React Native and Ionic) but i need to include the motiontag SDK and here is where the problem starts.
The Motion Tag SDK is only available for native App descreptive native programming language (Java/Kotlin, Swift).
Is there a way to include the SDK anyway to flutter??
Like some workaround!
Thanks for helping me out!
Flutter does have communication with native via Platform Channels, so if the sdk is just function calls you could call the function from flutter/dart , and then let the platform channel handle the call to the native function with arguments. If the sdk it's about rendering UI inside flutter then it's more complicated but it's possible as long as you use the boundaries of PlatformView . All the native plugins developed for flutter use this two methods to handle native code/UI

Making Apps using flutter

Is it possible to build a fully functioning application for iOS and Android using AndroidStudio + Flutter and FireBase alone? This is my first time trying to make a fully functioning mobile application which I want to use as I am constrained with my finances at the moment. I would appreciate the clarification.
Yes, it is possible to make both Android and IOS app using flutter and dart.
Flutter has many benefits. here some example :
Flutter hot reload helps you to build your app very fast.
User fluent. Can use app with excellent user interface design.
It's easy to use function like other OOP languages.
Update everyday with new features.
Flutter user community is increasing day by day .
Check the flutter docs for more info
Yes, Flutter can produce a fully functioning application for both iOS and Android platforms.
there are some apps built with Flutter. check them here
I am a native Android developer and I did some iOS as well. I started learning Flutter a couple of days ago and it seems promising.