1.What is Flutter?
Flutter is a new tool offered by Google that let developers build
cross-platform applications that could be executed in defferent system such as
a Android or iOS with just a common codebase.
This tool is built in C and C++ and provides a 2D rendering, a
React inspired functional-reactive framework, and a set of Material Design
Widgets.
Flutter run on mobile (Android/iOS) device, it will run on
desktop, embedded systems and now the web.
flutter enables smooth and easy cross-platform mobile app
development you don't need to develop iOS and Android app separately all
you need is one codebase of both platforms. is free and open source.
-Is based on Dart a fast object-oriented programming
language which is in itself easy to learn,
Provide its own widgets, drawn with its own high-performance
rendering engine. They are fast,pretty and customizable,
- Thanks to rich widgets, Flutter apps look and feel great
(you can create your own custom app design, but also use readily
available UI elements following specific platforms' guidelines)
- The architecture of Flutter is based on the very popular
reactive programming of nowadays (the same that React has been
made from)
- It's becoming a serious competitor to React Native, but also to
native app development
- It is a stiff rival to React Native
2 Explain flutter
advantage & disadvantage
Advantage :
Extremely Fast App Development: With features like
Hot-reload, code changes in Flutter are reflected as soon as the
alterations are made. The Hot-reload usually doesn't take more
than milliseconds, which in turn, helps developers to
maintain high speeds and dynamically for mobile app development.
Flutter widgets assist in the creation of native interfaces within
few minutes.
- Faster Running of Applications: Flutter apps provide smooth
and seamless scrolling experiences while n use, without much hangs or
cuts.
- Reduced Efforts of Testing: Since Flutter apps are
cross-platform, the testers do not always require to run the same set of tests
on different platforms, such as iOS and Android, for the same app.
Cross-platform application development enables applications to run on multiple
platforms by writing the programming code only once (follows the
WORD concept). This saves the time of the testing team. Thus, Flutter is used
extensively by every mobile app developer, Utah, for faster testing, delivery
and deployment of mobile applications.
- Access of Native Features: It is extremely simple to set-up
Flutter Application developers can easily have access to native
features of low-level machines where Flutter is initiated. Since it
is cross-platform in nature, codes written in existing Swift, Java,
Objective-C, etc. can be reused
again and again.
- Excellent User Interfaces: With built in design-centric
widgets, high-end development tools, advanced APIS scrolling and
navigation features, etc., Flutter helps in the creation of stunning
and expressive user interfaces.
- Reactive Framework: With reactive framework, the developers
do not need to update UI contents manually Once the variables are
updated, the UI changes will be visible automatically.
Good for MVP: Flutter is good for developing MVP (Minimum Viable Product) apps due to its speedy development process and cross platform nature. The cross-platform concept also aids in reducing costs when apps are developed with Flutter. Many modern undertakings and SMEs are thus employing flutter to increase development speeds and get the maximum outputs at lower costs.
Disadvantage :
Needs Continuous Support: Since Flutter is comparatively new,
it needs continuous integration support through maintenance of
scripts, as C platforms like Jenkins do not support Flutter on a
large scale.
- Limited Libraries: The libraries to be accessed by the mobile application developers is very limited in Flutter. They do not always provide all the functionalities needed by the developer. Such functionalities need to be developed by the application developers by themselves.
3 Read file assets
Future String JoadRecordsAsset()
async
{return await
rootBundle.loadString('assets/data
record json');}
Future <Record Lists> loadRecord() async{
String jsonString await_loadRecord sAsset();
final jsonResponse= json.decode json String):
RecordList records=new Record List from Json(jsonResponse);
return records;}