Why most flutter web packages are developed using the js package? - flutter

I want to develop a flutter web package and noticed that many flutter web packages are depended on the js package. Is it the best way to develop web apps as for now? Can someone who has developed web packages guide me on this?

Related

Is there a way to import and run a Flutter app as a dependency of another package?

So, I'm thinking of creating a CLI application that could also be used with UI, developed in Flutter.
The idea is that there would be 3 different packages, one for the business logic, one for the CLI and one for the Flutter app. Is there a way to import the Flutter app as a dependency in my CLI package, so I could open the Flutter app from the CLI? If so, how would I do it?
Seems like you want to use 1 library containing the business logic for 2 different applications: Desktop CLI app and mobile app (android/iOS).
It's very much possible with flutter. By default flutter installs only the android and iOS platform supports but by changing few configurations in installed flutter SDK we can extend the same setup to Web and Desktop apps (Windows, MacOS or linux) as well.
Check this official doc for enabling desktop support
Check this official doc for enabling Web support
You can enable these settings in your existing application only.

New Flutter Project on Android Studio

Can you guys tell me what all these different projects means?
New Flutter Project
Because I can't find the documentation anywhere
So if you can find the reference it will help me
Flutter Application: A fully-functional standalone Flutter application.
Flutter Plugin: A plugin is a kind of bridge that you develop between a native feature like camera API in Android and iOS.
Flutter Package: A package is a flutter application written solely using Dart. It doesn't have much to do with the Native functionalities.
Flutter Module: A module is a set of functionalities that you want to use in your app. It is a custom code that does a specific task but can be used for other apps in the future. So, you keep it handy. In other words, this module can be integrated in other apps too.

flutter web app without html, css and javascript

I want to know that if it is possible to make flutter app for web without using HTML, css or javascript and only using flutter and dart
Yes, it is absolutely possible to create a web app using flutter and dart.
To add web support in the existing flutter project you can run the command flutter create . and to release it run the command flutter build web
For testing your app in chrome you can use command flutter run -d chrome
You can disable android support using command flutter config --no-enable-android and disable ios support using command flutter config --no-enable-ios
Yeah, it is not need to build web app with HTML,CSS & JS, your flutter code alone will work.
Note: try flutter upgrade bcs v-2.0.0 stable release for web got released
Yes, you can use Dart/Flutter exclusively to build web apps. You don't need to write any HTML/CSS/Javascript.
You can setup your project from the terminal (like previous comments suggests), or you can use an IDE such Android Studio, or you can use Visual Studio.
If you use Android Studio, you can create a new Flutter Project, and select the 'web' platform only, and de-select Android and IOS.
I am currently using Dart/Flutter to build web apps only. Android Studio builds the HTML/CSS/Javascript for you. Then you just have to publish it into a web server (online or local).
Yes you can use Flutter for web apps but though it is in early stage of development about how the web app will be stable or not

Web capability with flutter package: mapbox_gl

The mapbox gl package page lists it as suitable for web applications (mapbox_gl).
I tried running the example as a web application, but I encounter the error Error creating mapbox_gl_example|lib/move_camera.ddc.dill
Error creating kernel summary for module:mapbox_gl_example|lib/move_camera.ddc.dill
.
So, my question is, is the flutter package mapbox_gl actually able to be run as a web application as the tags "FLUTTER ANDROID IOS WEB" suggest (is there something I must configure), or is it really not web capable as may be indicated by the fact that the actual description mentions nothing of web capability?
Update: The mapbox_gl flutter plugin now has web support merged into master on Github. If you don't want to wait until web support is released to pub.dev, you can depend on the Github repo directly with this dependency in pubspec.yaml:
mapbox_gl:
git:
url: git://github.com/tobrun/flutter-mapbox-gl.git
Outdated answer: Unfortunately, it doesn't support web yet (although PRs are welcome if you want to contribute). The reason it was listed as supporting web (like many other plugins) was that flutter changed the way plugins declare their supported platforms in the pubspec.yaml file. The mapbox_gl package has since been updated on pub.dev and now correctly shows that it only supports Android and iOS.

What is the difference between flutter plugin and flutter module?

I am new to flutter plugin development, I have read Developing packages & plugins and Writing a good Flutter plugin, but I am confused as a beginner, I have developed Flutter Application based on webview_flutter and a JavaScript library to work offline. I want to extend it as a module or a plugin.
Webview renders some stuff.
JavaScript library is being attached from assets.
I am not calling any Platform API directly from my code but my code depends on another plugin.
How do I proceed this? As a plugin or as a module?
A plugin is about making native functionality available to Flutter.
A module is about integrating Flutter with an existing native application.
Perhaps what you actually want is a reusable Pub package that you can publish to pub.dartlang.org (a plugin is also a Pub package, just a special one that additionally utilizes access to the native platform)
See also
https://flutter.io/docs/development/packages-and-plugins/developing-packages
https://www.dartlang.org/guides/libraries/create-library-packages
A "library package" is a Pub package in contrary to a plain Dart "application package" which is usually not published to pub.dartlang.org.
A pure Dart Pub package (library package) that does not depend on dart:html, dart:ui (Flutter) and is not a Flutter plugin, can be used on any platform (server, command line, Flutter, browser).
If your package has one of the named dependencies, it is limited to a specific platform.
pub.dartlang.org shows labels to categorize published packages accordingly (FLUTTER,WEB,OTHER)
Flutter plugins:
In short: Native related developments.
Flutter plugin is the wrapper of the native code like android( Kotlin or java) and iOS(swift or objective c). ... Flutter can do anything that a native application can through the use of Platform Channels and Message Passing. Flutter instructs the native iOS/Android code to perform an action and returns the result to Dart.
Flutter packages or modules:
In short: Make the development faster by using code from util libraries.
Flutter supports using shared packages contributed by other developers to the Flutter and Dart ecosystems. This allows quickly building an app without having to develop everything from scratch.