Flutter là gì? – Một SDK cross-platform dành cho mobile app của Google

Chắc hẳn chúng ta – những Android, iOS developer – không còn xa lạ gì với React Native – một SDK của Facebook hoặc Xamarin – 1 SDK của Microsoft, dùng để phát triển các ứng dụng mobile cho cả 2 nền tảng Android và iOS. Và để đáp lại, Google đã cho ra mắt Flutter vào năm 2017.

Bài viết này sẽ giới thiệu về bộ SDK mới mẻ này, nhằm cho chúng ta cái nhìn tổng quan nhất.

Flutter là gì?

Flutter là SDK dành cho thiết bị di động của Google để tạo ra các giao diện native chất lượng cao trên iOS và Android trong thời gian ngắn. Flutter làm việc với source code có sẵn, được sử dụng bởi các nhà phát triển và các tổ chức trên khắp thế giới, đồng thời nó open-source và miễn phí.

Những đặc điểm của Flutter

Phát triển ứng dụng nhanh chóng

Tính năng hot reload của Flutter giúp bạn nhanh chóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn. Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator, simulator và device cho iOS và Android. 

UI đẹp và biểu cảm

Thỏa mãn người dùng của bạn với các widget built-in đẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor), các API chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận thức được nền tảng.

 

Framework hiện đại và reactive

Dễ dàng tạo giao diện người dùng của bạn với framework hiện đại, reactive của Flutter và tập hợp các platform, layout và widget phong phú. Giải quyết các thách thức giao diện người dùng khó khăn của bạn với các API mạnh mẽ và linh hoạt cho 2D, animation, gesture, hiệu ứng và hơn thế nữa.

class CounterState extends State<Counter> {
  int counter = 0;

  void increment() {
    // Tells the Flutter framework that state has changed,
    // so the framework can run build() and update the display.
    setState(() {
      counter++;
    });
  }

  Widget build(BuildContext context) {
    // This method is rerun every time setState is called.
    // The Flutter framework has been optimized to make rerunning
    // build methods fast, so that you can just rebuild anything that
    // needs updating rather than having to individually change
    // instances of widgets.
    return new Row(
      children: <Widget>[
        new RaisedButton(
          onPressed: increment,
          child: new Text('Increment'),
        ),
        new Text('Count: $counter'),
      ],
    );
  }
}

Truy cập các tính năng và SDK native

Làm cho ứng dụng của bạn trở nên sống động với API của platform, SDK của bên thứ ba và native code. Flutter cho phép bạn sử dụng lại mã Java, Swift và ObjC hiện tại của mình và truy cập các tính năng và SDK native trên iOS và Android.

Việc truy cập các tính năng nền tảng thật dễ dàng. Đây là một đoạn code ví dụ:

Future<Null> getBatteryLevel() async {
  var batteryLevel = 'unknown';
  try {
    int result = await methodChannel.invokeMethod('getBatteryLevel');
    batteryLevel = 'Battery level: $result%';
  } on PlatformException {
    batteryLevel = 'Failed to get battery level.';
  }
  setState(() {
    _batteryLevel = batteryLevel;
  });
}

Phát triển ứng dụng thống nhất

Flutter có các công cụ và thư viện để giúp bạn dễ dàng đưa ý tưởng của mình vào cuộc sống trên iOS và Android. Nếu bạn chưa có kinh nghiệm phát triển trên thiết bị di động, thì Flutter là một cách dễ dàng và nhanh chóng để xây dựng các ứng dụng di động tuyệt đẹp. Nếu bạn là một nhà phát triển iOS hoặc Android có kinh nghiệm, bạn có thể sử dụng Flutter cho các View của bạn và tận dụng nhiều code Java / Kotlin / ObjC / Swift hiện có của bạn.

Build Optimize Deploy
Beautiful app UIs Test Compile
Rich 2D GPU-accelerated APIs Unit testing Native ARM code
Reactive framework Integration testing “Tree shaking” compiler
Animation/motion APIs On-device testing Distribution
Material Components and Cupertino widgets Debug Apple App Store
Fluid coding experience IDE debugger Google Play Store
Sub-second, stateful hot reload Web-based debugger
Refactor, code completion, etc. Async/await aware
Dart language and core libs Expression evaluator
Package manager Profile
Full-features apps Timeline
Interop with mobile OS APIs & SDKs CPU and memory
Gradle: Java/Kotlin In-app perf chart
Cocoapods: ObjC/Swift

Tham khảo https://flutter.io/

Leave a Reply

Your email address will not be published. Required fields are marked *