Thursday, December 20, 2018

'Flutter Live' .... much needed single platform application development framework..high hopes on this one!

So it seems Google launched their stable release of flutter few days back.. let's deep dive into the details...

Before we begin - we must understand we are living in the mature age of mobile app development, gone are the days when mobile app development was a small child growing up and surprising all, it suddenly grew up too fast and now most have seemed to realise that a more mature approach is needed to build for mobile apps before it starts the downward trend.. so let's go into details.

Built by google developers, using native c, c++, along with dart & skin graphics engine, this engine gives the developer - embedded, mobile, web, mobile app, desktop along with forthcoming support for watchOS.

The whole experience is seamless across iOS or Android using the native platform's

Below are the major components of flutter -

1. Dart platform - the flutter experience is built using the dart language.
2. Flutter engine  - written in C++ & provides low level rendering support, engine is composed of a cross platform code
3. Foundation Library - again in Dart gives the api's to use & there is a huge library of widgets which can be plugged into the code base.
4. Design-Specific Widgets - an immutable description of a part of an interface, these can be hot loaded and viewed to suit the kind of design they are etched or used on.

4 characteristics which define flutter are -

1. Beautiful - controlled by widgets delivering pixel perfect experience.

2. Fast - 3d Skia graphics - compiled to native machine code.

3. Productive - stateful hot reload without restart to have the glimpse of the experience in a shot.

4. Open - can be extended and has no license.

Benefits - single application platform which can drive the focus more on the UI or UX aspect of the app design rather than dwelwing on the challenges of what will work on a platform and what won't and then getting through the complexities of code differentials on each platform.

Appears to a be a step further into culmination of monopoly of OS based development.

Some advantages of flutter

- Ahead of time compilation
- Recompute the animation before hand
- Skia GE is hardware accelerated and runs directly on graphics card
- Backward OS capability for both iOS and Android (at least 5 years)
- Develop in single location and publish to Android or iOS store in one go.
- Easily embed high speed widgets like video on the graphics design with ease.
- A widget inside a widget behaves like an actual widget seamlessly.

It's quick and easy to install - flavours exist for

iOS - directly integrates with XCode simple to install.
Linux - installs and runs on android emulator and studio
Android  (needless to say works embedded in android studio & emulator).

Refer to below resources from google for more information..

Resources -- https://flutter.io

I will try to put in a blog with an actual app development done using flutter in my next blog on this topic.

No comments:

Post a Comment