Everything is a Widget, put everything in one Widget ???
You are reading this article just because you are interested to learn a new programming language or interested in developing a mobile app using FLUTTER.
Before getting started let me give you definitions of some of the important keywords like “SDK”, “DART”, “NATIVE CODE”,” WIDGET”.
What is SDK(Software Development Kit)?
Some important flavors present in SDK, help you to run your code in native machine code, create a beautiful application, a collection of reusable UI Building blocks/widgets, provide you with the framework, a widget library for flutter programming language DART.
It is a collection of tools that allow you to write one codebase or use one codebase with one programming language. This tool helps you to compile your code to native machine code for IOS or native machine code for Android. Native machine code then run on either on IOS OR ANDROID device.
CONFUSED!!! CONFUSED!!! CONFUSED!!!
Let’s understand in simple words.
Imagine that I am running one company named “PandD” offers the product “LearningSW” and LearningSW involves software in some way. Then PandD can offer a set of libraries to software developers that drive LearningSW ‘s software systems.
That library/libraries are an SDK. It is part of the systems of LearningSW. It is a kit for software developers to use in order to modify, configure, fix, improve, etc the software piece of LearningSW.
If PandD wants to offer LearningSW ‘s functionality to other companies/systems, it does so with an API. This is an interface to LearningSW. A way for external systems to interact with learnings.
Now read paragraphs one and two again so you can get the idea, the facility, and functionality provided by SDK.
What is DART?
Dart is a programming language developed by Google. As flutter and Dart developed by GOOGLE provide you with high-performance applications.
Dart is a programming language that is used in a flutter to build a native mobile app. But that doesn’t mean it works only for flutter you can create web apps also.
Dart is focused on building front-end user interfaces, front-end apps.
Dart is object-oriented/ classed based and strongly typed language. Flutter builds up on DART. Flutter and DART work together.
Like visual studio old concept where you drag and drop textbox, label, button, etc. Element, and can see the UI element but here you can’t visually see the element, instead, you just work with the CODE ONLY.
In flutter everything is the widget.
What is Widget?
A collection of reusable UI Building blocks/widgets.
What is Native Code? / How does flutter or Dart compile into Native App?
To understand in simple words, you have DART Code means your logic your project, which uses FLUTTER FRAMEWORK.
Flutter Framework then helps you to run your Dart Code/Your Code into native Code either for IOS or Android with the help of Flutter SDK. This native code then runs on devices either IOS OR Android.
This sounds good to start working with Flutter. Anyone can learn and build a mobile or web app but the concept must be clear. After all, you have to fulfill the CLIENT NEEDS.
One of the important notes, Flutter does not use platform primitive.