Flutter

Flutter

Application and Data / Languages & Frameworks / Cross-Platform Mobile Development
Shared insights
at

For a slide deck view of this content, visit https://www.slideshare.net/JeyabalajiSubramania/flutter-at-fundscornerpptx

Context: Recently we were looking for a tool to build cross-platform mobile apps. The primary goals for us were two fold: 1. Ability to roll out the mobile app fast. Being in the FinTech segment, our focus is more on usability & accuracy and less on the flashiness of the app in itself 2. Our web development team must be able to build mobile apps. The UI & UX fundamentals are pretty much the same.

With the above in mind, we evaluated React Native, Vue Nativescript and Flutter. While we were able to build fast in all these three choices, we chose Flutter for the following reasons:

Pre-built widgets: All the standard widgets that are required for us to build a functional app were readily available, & required minimal or no tweaking! It was pretty much like cooking up something on the web with Vue & Vuetify, which offer the fastest time frame from code to reality. The key differentiation Flutter offers over it's rivals is the native feel you get on all the widgets. No one can figure out whether it was built in Native android or Flutter.

Availability of Pre-built widgets in Flutter makes it a natural choice for going the fastest from design to reality.

Easy programming constructs & Hot Re-load: The component coding for Flutter is done through Dart. It is kind of a cross between Java & JavaScript. It is easy for the developers. I found asynchronous programming in Dart a breeze! Dart is one of the key reasons why you would build an app in record time with Flutter. Also, you will love the hot reload feature in Flutter, through which you can immediately validate the user interface and interactions.

Hot Re-load is one of the key features that make development in Flutter a breeze.

Rich set of plugins & great documentation: Flutter eco-system has matured over a period of time. We were able to easily find solutions to various problems & all the plugins worked without breaking anything. For example, we wanted to build a web view for integrating with a Payment link & flutterwebviewplugin was readily available and we were zooming in less than 30 minutes!

With great documentation and eco-system, you are always a plugin or a widget away from completing your functionality!

Great support for Reactive State Management: We were spoilt for choices when we looked at the various options for implementing Reactive statement management. After looking at a number of options, we settled with RxDart and Provider Consumer (Bloc) pattern to implement reactive statement management.

You will be able to apply your hard earned reactive state management skills in Flutter seamlessly & built beautiful reactive apps.

Easy integration with Android Native SDKs: Flutter provides a platform interface to integrate with native SDKs. Being in the FinTech industry, we were required to integrate with a number of industry-standard SDKS for payments & KYC, which were available only in Native. We were to connect with these SDKs and code with ease with the platform interface.

In the end, we were able to build and release an end-to-end, material design compliant and functionality rich Borrower app within a matter of one month and release it for Beta preview!

With the announcement of Flutter for Web in this year's google I/O, I think Flutter is going to go big and will shake up the world of cross-platform development.

READ MORE
Flutter - Beautiful native apps in record time (flutter.dev)
4 upvotes·41.3K views
Needs advice
on
DartDartDjangoDjango
and
JavaScriptJavaScript

I am currently learning web development with Python and JavaScript course by CS50 Harvard university. It covers python, Flask, Django, SQL, Travis CI, javascript,HTML ,CSS and more. I am very interested in Flutter app development. Can I know what is the difference between learning these above-mentioned frameworks vs learning flutter directly? I am planning to learn flutter so that I can do both web development and app development. Are there any perks of learning these frameworks before flutter?

READ MORE
7 upvotes·544.3K views
Replies (5)
Recommends
Node.js

Hey Muhamed, For web development, you'll have to learn how to write backend APIs and how to build UI for browsers, apps, etc. If you're just starting off with programming, I'd suggest you stick to one language and trying developing everything using it to cut the unnecessary learning overhead. Although Python and JavaScript are very similar for beginners, JavaScript is the only available option for both frontend and backend development for a web application. You can start working with Node.js for your API development and Vanilla JS along with HTML/CSS for UI. You'll only need to learn one language to do all of this. Hope this helps.

READ MORE
11 upvotes·1 comment·175K views
Muhamed Suhail
Muhamed Suhail
·
May 2nd 2020 at 4:58PM

Thank You!

·
Reply
Flutter Developer ·
Recommends
Dart

Flutter is good for everything and it is getting better as I am speaking. Flutter Web is almost ready for production and I have made 2 complex working websites already.

READ MORE
6 upvotes·1 comment·175K views
Muhamed Suhail
Muhamed Suhail
·
May 4th 2020 at 4:55AM

Thanks Dennis!

·
Reply
View all (5)
Needs advice
on
FlutterFlutter
and
React NativeReact Native
in

Hi, I'm considering building a social marketplace app on android, ios and web, Flutter seems to be a good UI framework for cross-platform apps, it's safe type, hot reload, and native compiling on native machine code (thanks to Dart). My question is, for an MVP product is it a good choice? if yes, will it be on the mid-term, long term? Or will I have to change as the users grow?

thank you

READ MORE
11 upvotes·106.6K views
Replies (3)
Recommends
Flutter

I agree with John. For the most part, Flutter has been easier to maintain as time goes on when comparing to react native. And in the landscape, the people at Flutter appears to be very active with the framework, a lot of things cooking. Flutter web is very new, but it'll only get better, more stable.

READ MORE
5 upvotes·22.9K views

For the most part, Dart/Flutter is a great choice for cross-platform application development. The platform is developed by Google, and will be around for a long time. Unless you need to do very low level stuff, like bluetooth tethering or 3D drawing, flutter should be able to handle anything you need it to.

READ MORE
4 upvotes·22.9K views
View all (3)
Needs advice
on
Android StudioAndroid Studio
and
FlutterFlutter

I have experience in game development for 5 years in C# and have a coding background of around 7 years. I want to choose a mobile application tool, but I am confused about what to choose between android native or Flutter.

READ MORE
3 upvotes·99.3K views
Replies (4)
Recommends
Flutter

Flutter is the best if you want to easily and quickly get an application for multiple operating systems from a single code base... however if you want to develop games specifically you should opt for android native. Even if you only want to develop an app for Android Flutter should be the best choice.

READ MORE
3 upvotes·377 views
Product owner at Nikolla·
Recommends
Flutter

recommend that you should be use flutter for start the firstly projects. the main reason is a simple and fast to build the first apps, don’t need to many configurations to start the code and, the most important is: y can build iOS and Android in the same codebase.

Other advice: you can use VSCode as the IDE to code. I believe that y use the Microsoft tools and it’s more comfortable than Android Studio.

READ MORE
3 upvotes·364 views
View all (4)
Needs advice
on
Angular CLIAngular CLI
and
AngularDartAngularDart

Is it worth to learn AngularDart in 2020 ? Currently I am working on Flutter, I want to learn web technology so I thought about AngularDart to learn. Is this good option or demanding in market ?

READ MORE
1 upvote·49.9K views

Hi everyone! I'm going to work on my FYP soon, and I was wondering which language is the most suitable for making a mobile app? I'm considering Flutter as I have tried it before in mobile development, but I'm more familiar with Java as it was taught in university for system development.

READ MORE
2 upvotes·140.6K views
Replies (2)
Recommends
Flutter

Flutter is a UI framework that uses dart. If you know Java then learning dart will not be too difficult to get going quickly. IMO the Flutter learning curve is much lower than Java android development and Swift IOS development. If the goal is to deliver something quickly without large requirements for performance or extensive native functionalities then Flutter is the way to go, however if the goal is learning then go the route that aligns with that.

READ MORE
4 upvotes·819 views
Principal Software Engineer at Dell Technologies·

Hi, Well...It depends. Take this with a grain of salt as I'm not a mobile app developer. I would weigh in some factors. If I would want to go fast, maybe I would make an Android app and use the language that I know, Java or even Kotlin. It really depends on how much time do you have. Alternatives to Flutter you can find here: https://buildfire.com/programming-languages-for-mobile-app-development/. As you already went with Firebase it might be a good option to stick with Flutter as they are both Google products and their integration might work more smoothly. I would also take into account the job market in your area and your personal preference in order to raise your chances to find a good job after you graduate and use your project as actual work experience. I guess it would help to put in some specs related to what you are trying to build, as some frameworks are better suited to do one job, rather than others and hopefully get more specific answers.

READ MORE
4 upvotes·825 views
Needs advice
on
DartDart
and
FlutterFlutter

Hello! I am looking forward to build a mobile app for the enterprise using O365 MSAL authentication. Flutter doesn't seem to have any plugin for it, any suggestion on how to solve it.

READ MORE
2 upvotes·30.9K views
Replies (1)
Data Analyst at Safe Alternative Foundation for Education, Inc·

So, I also couldn't find any third-party libraries for MSAL in native applications. My suggestion would be to familiarize yourself with the MSAL SDK and implement it into your app directly using the SDK instead of a third-party library.

Here are some potential steps in the right direction: https://developer.microsoft.com/en-us/identity/blogs/microsoft-authentication-libraries-for-android-ios-and-macos-are-now-generally-available/ https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-ios https://github.com/AzureAD/microsoft-authentication-library-for-android/wiki

READ MORE
1 upvote·342 views
Needs advice
on
MongoDBMongoDB
and
PostgreSQLPostgreSQL

I am one of those who believes that MongoDB can be used for everything, this thanks to the advertising of MongoDB.

We are creating an e-commerce platform, we know that it has many relationships, but with MongoDB we can avoid some, but in the end, some relationships have to exist.

A single developer to create two native applications in Flutter, a web application with React, create the backend with multiple microservices hosted with Google Cloud Run. PostgreSQL can be heavy because it should be used with an ORM, on the contrary, with MongoDB you can avoid some relationships and avoid ORM / ODM.

We need advice from someone who has the experience and has had to choose between these two databases for an e-commerce site.

READ MORE
5 upvotes·449.3K views
Replies (4)
Recommends
PostgreSQL

The real question here is not about the technology but rather your real needs and your data. Do you need to manage data that has core concepts and relations ? (such as a family, with parents and children) or do you need to manage a basic collection of similar data (such as blog entries)? PostgreSQL is definitely a relational database for managing entities and their relationships whereas MongoDB (I may be strongly opinionated here ;-) ) is more targeted at managing collection of entities (such as the blog entries). For an e-commerce site (with some products, products categories, user ratings and comments, prices, bundles...) I would go for PostgreSQL as it will support/guide you in creating a structured data set with all your products, organized in categories and with user ratings/comments attached to them. HTH

READ MORE
6 upvotes·409.6K views
Founder, CEO at X1 Group·

Had exactly the same question when selecting data storage for our new product. Not e-commerce though, rather interactive and content-focused HR SaaS for SME.

The key arguments for PostgreSQL

  • It gives you the opportunity to use relationships where you really need it and just go with key-value tables where you don't.

  • With Jsonb datatype you can store documents/objects/arrays as JSON then use JSON elements in queries and even indexes.

  • There are more tools/integrations working with PostgreSQL which you can use out of the box, e.g. Hasura

READ MORE
3 upvotes·409.2K views
View all (4)
Needs advice
on
AngularJSAngularJSFlutterFlutter
and
LaravelLaravel

I'm building a web and mobile application for transferring virtual digital currencies between 3 types of users for real-world applications, not in-game. I've been contacting companies for recommendations and estimates, and two have come back with Laravel and either Flutter or Android Studio/Swift. I've been studying Flutter, and I think that's the way to go, but for the web app and backend, Laravel just doesn't seem right. Maybe, I'm so used to PHP that it looks like a step backward or being stuck in the past or for bloated WordPress sites and text document management. And the components of Laravel, although they look handy, are rather pricey. Looking at similar kinds of apps, I see them being built in AngularJS, TypeScript, Node.js. What do you folks think? Thank You.

READ MORE
6 upvotes·66.5K views
Replies (4)
Recommends
Flutter

I would go with Flutter for the front end because it is easy to use once you learn Dart, has components for both Cupertino and Material Design, performs well, and has great documentation. For the backend, I've never used PHP so I don't know how good Laravel works, but I would usually use Node.js because of its large ecosystem, or Aqueduct, because if you use Flutter than you can use Dart on both the front and back end.

READ MORE
8 upvotes·2 comments·11.5K views
Jean-Baptiste Guillois
Jean-Baptiste Guillois
·
June 16th 2020 at 7:52AM

I would also go for Flutter for the front end as it is an easy and productive platform for creating mobile apps. For the backend, I would go either for Java (SpringBoot) or Node (+express) as both are rock solid platforms for creating API based backends. I may be strongly opinionated but I consider PHP being solely targeted at websites, not enterprise applications.

·
Reply
Stephen DeMeulenaere
Stephen DeMeulenaere
·
June 11th 2020 at 3:53AM

Thank you for your recommendation!

·
Reply
Frontend Developer at atSistemas·
Recommends
Ionic

You could check out Ionic. Angular won't help in creating a mobile app, but with Ionic you can do it, and it comes from Angular. On the other hand, it isn't clear if you're building a mobile webapp or if you need it to be a native APK.

About Flutter, it is really limited for webapps, it's heavily oriented towards creating native Android and iOS apps using Dart.

READ MORE
5 upvotes·1 comment·11.5K views
Stephen DeMeulenaere
Stephen DeMeulenaere
·
June 11th 2020 at 3:55AM

Thank you, Daniel, yes I'm familiar with Angular and Ionic, that's an approach to this project that I am considering as well.

·
Reply
View all (4)
Needs advice
on
GolangGolangPythonPython
and
React NativeReact Native

I've been juggling with an app idea and am clueless about how to build it.

A little about the app:

  • Social network type app ,
  • Users can create different directories, in those directories post images and/or text that'll be shared on a public dashboard .

Directory creation is the main point of this app. Besides there'll be rooms(groups),chatting system, search operations similar to instagram,push notifications

I have two options:

  1. React Native, Python, AWS stack or
  2. Flutter, Go ( I don't know what stack or tools to use)
READ MORE
10 upvotes·563.9K views
Replies (6)
Recommends
Python

Currently, I have decided to use Python and JavaScript (especially React and Node.js) for any of my projects. Well, I have used Python with Django for a lot of things, and I would certainly recommend Django to anyone, due to its high secure authentication and authorization inbuilt system, a ready to use admin platform, template tags, and many more. Well, I guess that you would like to use Python to create the backend of your application, an API, and React Native for the frontend. Python and JavaScript (React) are on the trend these days and have a huge community, so there are many resources, tutorials, great documentation. I have not really heard anyone using Flutter and Go for applications these days, so I would not recommend it to you, it would make your life much more difficult.

Hope that helps, and good luck with your project!

READ MORE
8 upvotes·1 comment·237.1K views
monkhaus
monkhaus
·
April 12th 2020 at 11:14AM

I haven't used it personally but http://skulpt.org/ let's you do Python on client-side. Might be good if you're using Django back-end.

·
Reply
Principal & Founder at Airwave Tech·
Recommends
Flutter

I'm typically agnostic when it comes to picking languages. Whatever gets the job done, but, in this case, to figure out what's involved with what you want to do, it's going to be much more than just picking programming languages for your client and backend interfaces.

So, I'm recommending you use Flutter+Firebase as a way to figure out what you need to get done. It supports both iOS and Android out of the box, introduces you to a bunch of components you will need to think about in the future (whether you stick with Firebase or not), and the key here, is that there are tons of articles, youtube videos, and other courses you can take to pick it up pretty quickly. You could even clone an Instagram knockoff from github. Guess what else, it's all free. You might not need to worry as much about the backend since there are client libraries for Flutter/Dart for Firebase.

Some might have different opinions, and like I said, I'm usually agnostic, but in this case, you have a lot to consider. Where are you going to store the data? Are people going to need to login? Will there but customized settings the will save even if I close the app? Yeah, that's just a few questions.

Those are just a few. Lots to consider, so if you want to get something in your hand as soon as possible, try a search for flutter + firebase + chat + Instagram or something like that and have a look.

READ MORE
6 upvotes·237K views
View all (6)