Do you know real open source projects on Flutter using architectures like MVVM, MWWM, MVP, Clean Code Architecture are used?
You could take a look at the code of the example application for the just expired flutter slide puzzle challenge offered by VeryGoodVentures.
https://github.com/VGVentures/slide_puzzle
Related
is there any way to achieve a better approach for the MVC, Model-View-Pattern architecture pattern, without using the Getx flutter package?
since the Getx package is just a lot, and I don(t want to use it's other features but the state management
is there any packages or some ways that help manage my app state with MVC
any information are welcome
There are plenty of state management solutions for flutter just a Google search (or stackoverflow search) away.
You would find this pretty much straight away:
https://docs.flutter.dev/development/data-and-backend/state-mgmt/options
Did you already try get_cli? The official CLI for the GetX™ framework. This helps expeditious development with GetX. It has two patterns to choose from
GetX Pattern - MVC
CLEAN by Arktekko - Clean Architecture
It's probably not a programming question and a bit too generic but I can't find any resource about the differences of writing plugin for flutter using Kotlin vs Java. From my research, almost every plugin in pub.dev that I found is written in Java. I don't say Java is bad but I personally prefer Kotlin over Java because of the syntax.
I'm planning to build native code to interact with native libs both on iOS and Android for my project since I couldn't find any plugin that satisfy the project requirements. I'd like to share it on pubdev when it's done (hopefully) so I have to think twice before writing it.
The question is, if I do so (developing Kotlin-based plugin), will it make any difference? Like maybe requires the user to add some extra configuration to their project? Or maybe any Flutter project that uses Java can't use my package? and.. will it do the same for iOS (using Swift over Objective-C)? The docs is telling us that we can switch both in between, but doesn't tell any side effects about it.
No there is nothing to worry about. Flutter apps are now by default created with Kotlin/Swift and not with Java/ObjC. Of course if someone has an ultra old Flutter configuration, then he might have some problems but I wouldn't concern myself with it.
All the native plugin code is converted to a Gradle dependency or Pod(spec) dependency. The app developer doesn't have to care about it and that is a good thing.
I have started learning flutter after 5 years of android dev. And right now i am trying to implement multi modular clean architecture as i used to, when developing android, example of such architecture: https://github.com/android10/Android-CleanArchitecture
And i have ran into two issues i can't solve by on my own.
1) What type of flutter module should i use module/plugin/package? I want to make domian layer as simple as it could be(list of interfaces,mappers and dto's), in android it was written in plain kotlin without any android sdk's usage. It seems like domain layer should be package(because it doesn't have any platform specific code and seems to be the simplest module possible) and data layer should be plugin in case i would be forced to make some platform specific code here, but i am not sure. It would be great to have some suggestions here.
2) Maybe there is a github repo example, as I have shown above? All git repos i have found so far are implementing clean architecture with just folders and this approach always ends up with dependencies mess, loosing all the profit you can get from clean architecture.
Any help is appreciated!
You could pay attention to the library clean_architecture (https://pub.dev/packages/clean_architecture).
It may be possible to implement a clean architecture not by all the rules, but it brings a certain useful result.
In the near future I will add instructions on how to use it
We are in the process choosing a new GUI platform. Ive been looking at subj. but are a bit confused. Could someone please refer to at tutorial or blog that makes a qualified comparison.
Thanks.
Nikolaj G.
We've used SmartGWT for a couple of projects and it's ok but there are tradeoffs:
PRO:
Makes it easy to write a web app that looks and works like a rich client GUI.
Don't have to know any Javascript. SmartGWT coding is pretty similar to Swing coding, which is good if you already know how to do that.
CON:
Unless you do a lot of work tinkering with the look and feel, your app won't look very web-like, it will look like a rich client app running in a browser. You may not care about this.
It's a pretty heavyweight library which has to download large .js files to get going.
We found it difficult to control the layout of form controls precisely, but that might just be our inexperience.
I think you should fully understand what GWT does and what your projects needs are first and foremost. There wont be a source that will adequately compare them for your specific needs.
Start with the wikipedia http://en.wikipedia.org/wiki/Google_Web_Toolkit
Here is a comparison of SmartGWT vs GWT
http://www.theserverside.com/discussions/thread.tss?thread_id=60186
If interested in AJAX RIA Frameworts, below analysis is for you
Before starting new GUI for our new project arrival, I made some research.
Here are my findings (remove spaces from "http: // "; bcoz stackoverflow is preventing me to do so :)):
Prototype framework favorable links:
http://en.wikipedia.org/wiki/List_of_Ajax_frameworks
http://www.javabeat.net/articles/12-comparison-of-ajax-frameworks-prototype-gwt-dwr-and-1.html
http://www.devx.com/AJAXRoundup/Article/33209
Dojo framework favorable links:
http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison
jQuery framework favorable links:
http://blog.creonfx.com/javascript/mootools-vs-jquery-vs-prototype-vs-yui-vs-dojo-comparison-revised
Test speed of different RIA frameworks:
http://mootools.net/slickspeed/#
More comparasions:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
http://jqueryvsmootools.com/#conclusion
Out of all these findings I started using SmartClient 5. Initially we faced some issues but as SmartClient matures I find it interesting in many terms:
1. APIs doc help and examples
2. Flexible controls
3. Forum
Today I am working on SmartClient 8 and few on my GUIs are in production running successfully. Actually the great help with SmartClient is that you find every thing at one place. No need to dug many other sites that is hard to do for any other open source RIA framework.
So my choice is no doubt SmartClient.
Thanks
Shailendra (shaILU)
I'm work in an aplication that need be capable of support plugins, but i dont know how this work.
See Design Pattern for implementing plugins in your application?
The answers tend to get very platform specific. It also depends on how much control of your core app data and logic the plugin must have.
The C++ QT4 book has a good description of adding a file-type plugin to it's architecture, there area also a bunch of modeling apps (openscenegraph, blender, povray ) that have good documentation for their plugin architectures.
You need to design your application's API in such a way that plugins can be created, and you need to add the necessary plugin management interfaces and supporting code to invoke the plugins. There is no catch-all way of managing plugins.
Take a look at the open source application called Rawr (c#). Each addin is a seperate .dll and the main app uses reflection to access the code. Very nicely done.
www.codeplex.com/Rawr