-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support multi package app #143
Comments
I will check the feasibility of this feature if it is not assigned yet. |
@jkpu How does the TPK with UI app + service app look like? Is the source code of the two apps compiled into a single executable under |
@swift-kim No. UI app and service app has each own executable, they only package in same folder. following is the result I have tested with native UI app + service app
|
There are many places in the tool that assume a single platform project for a single Flutter project and it would not be easy to re-design them all in a clean manner. If we really need to implement this feature, we will have to be very careful not to break any other even small features. |
@pkosko I'll look into this issue if no progress has been made yet. |
hello, I've made significant progress.
For now, many cases still need to be checked, but I am doing progress every day. My TODO list:
If you have any comments, please share. |
@pkosko What I had in mind was to make the multi package app into a single Dart package, by creating multiple entry points in the Dart code (one for the UI app and one for the service app). In that way only small changes (tentatively) need to be made, like adding a template for a multi app project and adding a new (or modifying existing) build target to build a multi app project. That's why I mentioned this issue might depend on flutter-tizen/engine#149. |
Sorry, I didn't notice the 'mention' and I focused on creating support for service on 'tizen' level, not 'dart'. Now I need to make a deeper look at the concept explained in flutter-tizen/engine#111 and flutter-tizen/engine#149, and make some checking on my side to understand it. For now I am not sure if I understand all your expectations regarding this issue. Could you please share the list of TODO things, that I can follow to avoid misunderstandings? |
Sorry. I had to make the comment in this issue but not in the engine issue. (It's always good to share progress frequently if the work takes longer than you thought. :D) I don't yet have a complete roadmap of what need to be done, and I just want to make things clear first. Do you know if I can create a single TPK which contains both UI and service apps within it by only using the Tizen CLI? |
I've used a https://developer.tizen.org/development/tizen-studio/web-tools/cli#Build_pack_multi_proj command as it is here: pkosko@2c9c385#diff-32efabcee487e07581c54bc0c3ac9e16b5401ebd7b15ad5337b96186fe36b41cR821 , but in my case the build targets were two Flutter-Tizen projects (one with UI and second a service only). CLI makes all necessary operations to pack them together into one TPK (including merging tizen-manifest.xml files and other resources). |
Thanks. I have two basic template projects created by Tizen Studio: $ ls -l
total 48
drwxr-xr-x 1 swift swift 4096 Jul 21 17:22 MultiApp
drwxr-xr-x 1 swift swift 4096 Jul 21 17:22 MultiAppService and I used this command to package the projects into a TPK:
The file edit) This command worked:
|
For the test project I used (notice that arch is inside a rootstraps property of method): tizen build-app -m 'name:"m1", compiler: "llvm-10.0", configs: ["Debug"], rootstraps: [{name:"wearable-4.0-arm.flutter", platform:"wearable-4.0", arch:"arm"}]' -b 'name: "b1", methods: ["m1"], targets: ["test_project"]' -p 'name: "test", targets:["b1"]' An important conclusions from my work was that to pass additional linker flags, it is needed to use a 'hidden' option of rootstrap - 'extraoption:' (as it is here). This is not documented behaviour, but I found it in CLI code. |
So my design is simple:
The idea of sharing of Dart code between apps makes sense for me, although you guys might have different opinions. In order to implement the design, we need several things to be done:
Tip) You can debug the flutter-tizen tool without using many |
After implementation of this is completed, I guess it will be possible to use it for multi-screen scenario. 😄 (flutter-tizen/engine#94) |
@swift-kim Thanks for the tip about running flutter-tizen with debugger attached, it will be much more convenient. |
@swift-kim I've got a question to:
Do we assume that only single service can be added to application or we should support multiple services? |
Ok, I will base on the assumption that only one service application is supported. |
I've managed to achieve the goal of this enhancement - application including a ui and service parts packed into single TPK file. My code:
Starting a service from multi-application seem to work well, other process is launched. Now I need to rebase the code to base on changes introduced with #181, after that I will make a PR. |
https://github.com/flutter-tizen/flutter-tizen/wiki/Application-types - multi app feature described on this page. |
I need flutter multi package app (UI app + service app).
Tizen native app and .NET app supports multi package.
Each project can refer to other project's code and can access files and database in the package installed directory.
It will be very helpful if Tizen flutter app supports multi package.
Native app
https://docs.tizen.org/application/native/tutorials/process/app-dev-process/#developing-multiple-projects-as-a-combined-package
.NET app
https://developer.samsung.com/tizen/blog/en-us/2019/01/04/how-to-package-ui-and-service-applications-together-and-perform-them
The text was updated successfully, but these errors were encountered: