Is implementing DSs in a flutter app possible? - flutter

I'm ready to start my journey as a flutter dev, the only thing that's holding me back is not having any idea of implementing advance "data-structures" like (stack, linked-list, graph etc) in my Flutter application because there isn't a single tutorial explaining how & I can't afford hiring a teacher.
𝗤𝟭• Are all the popular DSs available in Dart and with good documentation ?
𝗤𝟮• If Q1's answer is 'NO' then Can i implement these DSs in Dart all by my own as a beginner ? (I guess I'm someone in middle of the beginner & intermediate stage)

As you were told in Reddit, you generally don't need those computer-science-education data structures. Typically a Map or a List is implemented underneath with some of these technologies, but you should need to know or care which ones.

Related

What is the best design pattern between BLoC, MVVM, MVC for Flutter app?

I'm going to develop a management app for a company in Flutter and since I never worked with this framework i was looking for the best practices and desin patterns to use.
The app will be about employes management for a company. The main features will be:
The management of the employes profiles;
The possibility to upload documents directly in the app;
Create online quiz for the employes in trainership;
I'm struggling to choose the right design pattern. Usually for the frontend i use either the MVC or MVVM, but since this is my first Flutter app i made some researches and find out that one of the best pattern for Flutter is BLoC. I already tried to implement a simple app to try this pattern and i understood the way it works, but since I'm a noob in Flutter i was looking for some advices from someon who is more expert than me.
Thank you in advance for the help.
the best practices and design patterns to use it is TTD
it helps you to Keeping your code clean and tested
on the other hand, larger projects start falling apart when you mix the business logic everywhere. Even state management patterns like BLoC are not sufficient in themselves to allow for easily extendable codebase.
to get more information about TTD you can look to this tutorial in this link : https://resocoder.com/2019/08/27/flutter-tdd-clean-architecture-course-1-explanation-project-structure/

What has been your experience of building a browser website using Flutter?

We've built an app through Flutter and realising that some of our user behaviour is best created for larger screens, where people are creating best on desktop. I've seen that the codebase is viable for transporting to a web experience. We want to avoid the desktop app and build for a browser.
Has anyone had experience with building for web browsers using Flutter?
What's been your experience? How good is the codebase for creating things such as:
Messengers
Posting and threads
Spaces, like Pinterest folders or Padlet like these - NewHope Crowdsource Space
This is the app on the store if that helps.
I'd greatly appreciate any feedback, thoughts or experiences you've had. I'm wondering whether to invest in Flutter for web browser or whether I need to go back to JS.
Thank you
We're exploring whether to develop the website through a different language and looking for people's experiences if they've attempted this.
The experience is not much different than mobile development, if you're used to it, really I recommend you usage this variant. Only one source code for all platforms.
In addition, the use of libraries is practically the same. The only thing that changes is that it compiles to HTML, CSS, and JavaScript.
I only recommend taking care of the adaptability to different screen sizes, using mediaQuery (height, width) and Expanded Widgets.
The rest stays the same, your HTTP requests (Dio is an excellent option). To work the logic layer also the BLoC design pattern helps a lot.

data persistence on remote server

I'm trying to understand some basic things. I'm a php programmer and I'm interested in flutter. If anyone can answer, I would really appreciate it...
I use mysql in my projects, which are on hostgator. I heard that sqlite is only for local storage and in my case the entire web project will be hosted on the remote server. Can I use sqlite to save my customers' data? Or is there something native better? A big concern of mine!
Is flutter mature enough for robust commercial applications?
Does the documentation indicate when something applies to an earlier version? Or is the information all mixed up and it's up to the programmer to identify when something is only valid for versions prior to flutter 3?
thank you for any guidance
You can use Sqlite, but I would recommend Firestore/Firebase for stuff like that. It's very easy to implement it and they have great solutions for many thigs.
Yes it is! Many commercial applications are running on flutter now. For example the Google Ads app is built with flutter.
I don't really know for sure, but I know that the one time I had a problem with it, it was declared.
I'd prefer saving user's data on the cloud. I personally like Google's firebase which helps with authentication and storage using RealTime Database. It's pretty easy to sync your user's data into the DB and even stores data using cache in case the user is offline and syncs to DB once device is online. You can find more about firebase and their products here.
Flutter is a really great framework to get your apps done for multiple platforms at once, thanks to its cross platform compatibility! If you don't want to spend time creating app for multiple devices, flutter's the way to go. I personally think flutter web is yet to grow, but it will overtime, afterall, it's opensource framework by Google. I'd suggest this idea 8.5/10
Flutter docs are pretty well written and an beginner could get through it with some video examples (included in documentation) as well. In case something you want to use isn't supported in newer version of flutter, the text editor will show a line over the code meaning that it is deprecated and wouldn't be supported. There's always an alternative, which you could find using flutter docs or YouTube. Flutter docs are optimised for beginners 9/10
Ad 1. There is pub.dev- the official package repository for Dart and Flutter. You can find many interesting packages there. They give you possibilities that the native Flutter doesn't give.
For example mysql1- driver for MySQL and MariaDB.

Hummingbird (Now Flutter for web) is planned for release. Should I stop learning AngularDart?

With the recent announcement of Hummingbird, it looks like Flutter will mature for web apps. I was trying to learn AngularDart, but I personally believe Flutter web apps will be a better approach. I'd have to plan a lot to share my codebase between Flutter and AngularDart.
Will Hummingbird receive support for Flutter web apps? Does the use of AngularDart will have diminishing returns in the future?
I understand the answers might be very subjective, but maybe it would be better to discuss some serious advantages and disadvantages of flutter-web.
Update (13.09.2019) Hummningbird is now Flutter-Web and Flutter-Web is now merged to Flutter branch. Things have changed for good ;)
As always, the answer is: It depends.
If you want to reach a lot of users quickly, AngularDart is your friend as it provides a solid foundation right now.
Also notice that doing a lot of "planning to share your codebase", which basically translates to thinking about separating your business logic from your UI logic, is a win either way because the more modular code will benefit you in the long run.
Additionally, it's never a bad thing to get to know more frameworks.
However, if you can allow yourself to be patient and you're thinking in the long term, Flutter's future support for web and Fuchsia may intrigue you.
That's why - if you believe in Flutter's success - it can make sense to only develop for Flutter and then wait and see what's about to happen.
Personally, I believe Flutter will become a well-supported, versatile, general UI framework.
That's why I would recommend betting on Flutter if your project is not time-critical.
I think it really depends on your use case. AngularDart and angular_components are trying to support a more 'enterprise' use case. Complex web apps that are primarily desktop focused. While HummingBird is focusing more on the mobile web use case or where you already have a flutter app that you happen to want to target web also with the same target. So both will have a place.
I understand you very wel ;-)
I'm now tryin to recycle my carrer and been a lot of months learning Angular (The Typescript branch) I love work with it, so pleasant an so intuitive, I did some major web apps than are working very well ant the mantainence is easy, quick and clean ... the future seemed me and Angula in a long love afaire ...
But sudenly I hear about Flutter, like two monts ago, and I was captivated for the concept (before I already had try different aproachs to have one codebase an reach all mobile platforms, Xamarin in major part, and was painfull to learn and to use, ReactNative never make me feel anything), but Flutter is soo easy, with so much power than Xcode and Swift witch I been workin too and with wich when you have a middle project the storyboard is intelligible. I been learning Flutter full time last two months, already have app in appstores and doing my first web (wonderfull experince doing web without css, ohhhh yes).
Then my opinion is similart to the others "depends", but if I was you and was just starting to learn AngularDart I will go for Flutter without loocking back.

MVVM in Windows Phone 7

Any good sample WP7 application using MVVM model in the optimal way?
I'm creating my first WP7 app, and I'm using MVVM as far as I can tell, but I'm not sure I'm doing it the right way. I have one view model per page, instead of one main view model that branches to each page, I'm not sure which is the correct way to do, so I'm hoping there's a sample app out there that I can check out.
Thanks!
Edit: I'm also having another problem on saving the ViewModels in the application state, because I think they have to be serializable (haven't worked much into this), the thing is that when I start a task and come back to the app, the latter has already been deactivated by calling the former, so I have to serialize its state when deactivated and [re]serialize it when [re]activated. This is how I save the state when deactivated:
object[] viewModels = new object[3];
viewModels[0] = App.ViewModelPage1;
viewModels[1] = App.ViewModelPage2;
viewModels[2] = App.ViewModePage3;
PhoneApplicationService.Current.State.Add("LastState", viewModels);
Again, this is probably not efficient way to do it, so I'm hoping I can see a sample app that handles this well too.
Thanks!
Have you looked at using the MVVM Light toolkit?
Serialization best practices will vary based on the volume of data in the model, the number of models being used and whether it's necessary to always load all of the models.
You might want to check out Caliburn Micro. It is used to implement a number of user experience patterns but it supports WP7 and has sample code.
Here's some MVVM samples and guidance you can check out.
C#er : IMage: Model-View-ViewModel (MVVM) Explained
.NET by Example: Using MVVM Light to drive a Windows Phone 7 / Silverlight 4 map viewer
The simplest way to do design-time ViewModels with MVVM and Blend.
Also an overview here of MVVM frameworks you may find worth a look.
JAPF » Blog Archive » Discover and compare existing MVVM frameworks
Light weight seems to be good and MVVM Light is popular. Laurent demos MVVM in the Mix 10 video EX14 if you want to check that out too.
This months MSDN magazine has an article on creating a WP7 Sudoko app using MVVM.
http://msdn.microsoft.com/en-us/magazine/gg490347.aspx
HTH
Here is my article which describes the approach to build WP7 applications using advantages of separation of concerns:
a framework for building of WP7 application