Flutter (perangkat lunak): Perbedaan antara revisi
k -iw |
Reno-Sifana (bicara | kontrib) k Perbaikan Kosmetika |
||
(9 revisi perantara oleh 8 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
{{Infobox software |
{{Infobox software |
||
| name = Flutter |
| name = Flutter |
||
| logo =Google-flutter-logo. |
| logo =Google-flutter-logo.svg |
||
| logo size =120px |
| logo size =120px |
||
| author = Google |
| author = Google |
||
| developer = [[Google]] dan komunitas |
| developer = [[Google]] dan komunitas |
||
| released = Alpha (v0.0.6) / {{Start date and age|2017|5}}<ref>https://github.com/flutter/flutter/releases/tag/v0.0.6</ref> |
| released = Alpha (v0.0.6) / {{Start date and age|2017|5}}<ref>{{Cite web |url=https://github.com/flutter/flutter/releases/tag/v0.0.6 |title=Salinan arsip |access-date=2018-08-04 |archive-date=2019-02-05 |archive-url=https://web.archive.org/web/20190205055416/https://github.com/flutter/flutter/releases/tag/v0.0.6 |dead-url=no }}</ref> |
||
| latest release version = v1.12.13+hotfix.5 |
| latest release version = v1.12.13+hotfix.5 |
||
| latest preview version = v1.13 |
| latest preview version = v1.13 |
||
| latest release date ={{Start date and age|2019|12|11}}<ref>{{Cite web|url=https://flutter.dev/docs/development/tools/sdk/releases|title=Flutter SDK releases|website=flutter.dev}}</ref> |
| latest release date ={{Start date and age|2019|12|11}}<ref>{{Cite web|url=https://flutter.dev/docs/development/tools/sdk/releases|title=Flutter SDK releases|website=flutter.dev|access-date=2019-12-28|archive-date=2020-05-08|archive-url=https://web.archive.org/web/20200508101726/https://flutter.dev/docs/development/tools/sdk/releases|dead-url=no}}</ref> |
||
| latest preview date = {{Start date and age|2019|11|24}}<ref name="auto">{{Cite web|url=https://github.com/flutter/flutter|title=Flutter makes it easy and fast to build beautiful mobile apps.: flutter/flutter|date=July 29, 2019|via=GitHub}}</ref> |
| latest preview date = {{Start date and age|2019|11|24}}<ref name="auto">{{Cite web|url=https://github.com/flutter/flutter|title=Flutter makes it easy and fast to build beautiful mobile apps.: flutter/flutter|date=July 29, 2019|via=GitHub|access-date=2018-08-04|archive-date=2023-06-28|archive-url=https://web.archive.org/web/20230628130158/https://github.com/flutter/flutter|dead-url=no}}</ref> |
||
| programming language = [[C (bahasa pemrograman)|C]],[[C++]], [[Dart (bahasa pemrograman)|Dart]] 2 dan ''Skia Graphics Engine'' <ref>https://flutter.io/faq/</ref> |
| programming language = [[C (bahasa pemrograman)|C]],[[C++]], [[Dart (bahasa pemrograman)|Dart]] 2 dan ''Skia Graphics Engine'' <ref>{{Cite web |url=https://flutter.io/faq/ |title=Salinan arsip |access-date=2018-08-04 |archive-date=2018-08-09 |archive-url=https://web.archive.org/web/20180809060204/https://flutter.io/faq/ |dead-url=no }}</ref> |
||
| platform = Pengembangan: [[Windows]], [[MacOS]], dan [[Linux]]; |
| platform = Pengembangan: [[Windows]], [[MacOS]], dan [[Linux]]; |
||
Target: [[Android (operating system)|Android]], [[iOS]], [[Google Fuchsia]], [[Windows]], [[MacOS]], [[Linux]], [[Web platform]] |
Target: [[Android (operating system)|Android]], [[iOS]], [[Google Fuchsia]], [[Windows]], [[MacOS]], [[Linux]], [[Web platform]] |
||
| genre = [[Kerangka kerja aplikasi]] |
| genre = [[Kerangka kerja aplikasi]] |
||
| website = {{URL|flutter. |
| website = {{URL|flutter.dev}} |
||
}} |
}} |
||
'''Flutter''' adalah sebuah [[kerangka kerja aplikasi| |
'''Flutter''' adalah sebuah [[kerangka kerja aplikasi|kerangka kerja]] [[aplikasi seluler]] [[sumber terbuka]] yang diciptakan oleh [[Google]]. Flutter digunakan dalam pengembangan aplikasi untuk sistem operasi [[Android (sistem operasi)|Android]], [[iOS]], [[Microsoft Windows|Windows]], [[Linux]], [[MacOS]], serta menjadi metode utama untuk membuat aplikasi [[Google Fuchsia]].<ref>{{cite web|url=https://arstechnica.com/gadgets/2017/05/googles-fuchsia-smartphone-os-dumps-linux-has-a-wild-new-ui/|title=Google’s "Fuchsia" smartphone OS dumps Linux, has a wild new UI|publisher=Ars Technica|access-date=2018-08-04|archive-date=2019-09-26|archive-url=https://web.archive.org/web/20190926205306/https://arstechnica.com/gadgets/2017/05/googles-fuchsia-smartphone-os-dumps-linux-has-a-wild-new-ui/|dead-url=no}}</ref> Flutter juga mendukung untuk pengembangan aplikasi berbasis web.<ref>{{Cite web|url=https://flutter.dev/web|title=Web support for Flutter|website=flutter.dev|language=en|access-date=2019-12-28|archive-date=2021-11-11|archive-url=https://web.archive.org/web/20211111233119/https://flutter.dev/web|dead-url=no}}</ref> |
||
== Sejarah == |
== Sejarah == |
||
Versi pertama Flutter dikenal sebagai "''Sky''" dan berjalan pada sistem operasi [[Android (sistem operasi)|Android]]. Diresmikan pada perhelatan ''Dart developer summit'' tahun 2015, dengan tujuan untuk mampu [[Rendering (grafik komputer)|merender]] grafis secara konsisten pada 120 [[Tingkat bingkai|bingkai per detik]].<ref>{{cite web|url=https://arstechnica.com/gadgets/2015/05/googles-dart-language-on-android-aims-for-java-free-120-fps-apps/|title=Google’s Dart language on Android aims for Java-free, 120 FPS apps|first=Ron|last=Amadeo|date=1 May 2015|publisher=Ars Technica}}</ref> |
Versi pertama Flutter dikenal sebagai "''Sky''" dan berjalan pada sistem operasi [[Android (sistem operasi)|Android]]. Diresmikan pada perhelatan ''Dart developer summit'' tahun 2015, dengan tujuan untuk mampu [[Rendering (grafik komputer)|merender]] grafis secara konsisten pada 120 [[Tingkat bingkai|bingkai per detik]].<ref>{{cite web|url=https://arstechnica.com/gadgets/2015/05/googles-dart-language-on-android-aims-for-java-free-120-fps-apps/|title=Google’s Dart language on Android aims for Java-free, 120 FPS apps|first=Ron|last=Amadeo|date=1 May 2015|publisher=Ars Technica|access-date=2018-08-04|archive-date=2015-05-06|archive-url=https://web.archive.org/web/20150506182812/https://arstechnica.com/gadgets/2015/05/googles-dart-language-on-android-aims-for-java-free-120-fps-apps/|dead-url=no}}</ref> |
||
Flutter 1.0 dirilis pada tanggal 4 Desember 2018 di acara Flutter Live,<ref>{{Citation|title=Announcing Flutter 1.0 (Flutter Live, Keynote Part 1)|url=https://www.youtube.com/watch?v=kpcjBD1XDwU|accessdate=2019-12-28|language=id-ID}}</ref> yang menunjukkan versi "stabil" pertama dari Framework Flutter. |
Flutter 1.0 dirilis pada tanggal 4 Desember 2018 di acara Flutter Live,<ref>{{Citation|title=Announcing Flutter 1.0 (Flutter Live, Keynote Part 1)|url=https://www.youtube.com/watch?v=kpcjBD1XDwU|accessdate=2019-12-28|language=id-ID|archive-date=2023-04-18|archive-url=https://web.archive.org/web/20230418181031/https://www.youtube.com/watch?v=kpcjBD1XDwU|dead-url=no}}</ref> yang menunjukkan versi "stabil" pertama dari Framework Flutter. |
||
== Arsitektur == |
== Arsitektur == |
||
Baris 29: | Baris 29: | ||
* ''Flutter engine'' |
* ''Flutter engine'' |
||
=== ''Foundation library'' === |
|||
* Widget spesifik desain |
* Widget spesifik desain |
||
=== ''Dart Platform'' === |
=== ''Dart Platform'' === |
||
Flutter ditulis dengan bahasa pemograman [[Dart_(programming_language)|Dart]]. Flutter berjalan di mesin virtual Dart yang dilengkapi mesin eksekusi [[Kompilasi tepat waktu]] (Inggris: just-in-time). Saat melakukan pemograman atau debugging aplikasi, Flutter menggunakan Kompilasi tepat waktu untuk melakukan "hot reload", yang dapat menambahkan hasil modifikasi kode langsung ke aplikasi yang sedang berjalan. |
Flutter ditulis dengan bahasa pemograman [[Dart_(programming_language)|Dart]]. Flutter berjalan di mesin virtual Dart yang dilengkapi mesin eksekusi [[Kompilasi tepat waktu]] (Inggris: ''just-in-time''). Saat melakukan pemograman atau debugging aplikasi, Flutter menggunakan Kompilasi tepat waktu untuk melakukan "hot reload", yang dapat menambahkan hasil modifikasi kode langsung ke aplikasi yang sedang berjalan. |
||
Versi rilis aplikasi Flutter dikompilasi dengan [[Ahead-of-time_compilation|ahead-of-time]] (AOT) di Android dan iOS, memungkinkan kinerja tinggi Flutter di perangkat seluler menjadi mungkin.<ref>{{Cite web|url=https://flutter.dev/docs/resources/faq|title=FAQ|website=flutter.dev|language=en|access-date=2019-12-28}}</ref> |
Versi rilis aplikasi Flutter dikompilasi dengan [[Ahead-of-time_compilation|ahead-of-time]] (AOT) di Android dan iOS, memungkinkan kinerja tinggi Flutter di perangkat seluler menjadi mungkin.<ref>{{Cite web|url=https://flutter.dev/docs/resources/faq|title=FAQ|website=flutter.dev|language=en|access-date=2019-12-28|archive-date=2021-10-10|archive-url=https://web.archive.org/web/20211010002955/https://flutter.dev/docs/resources/faq|dead-url=no}}</ref> |
||
=== ''Flutter engine'' === |
=== ''Flutter engine'' === |
||
''Flutter engine'', ditulis terutama dengan [[bahasa pemrograman]] [[C++]], memberikan dukungan [[Rendering (grafik komputer)|rendering]] tingkat rendah menggunakan ''library'' grafik Skia milik Google. Selain itu, ''flutter engine'' juga berinteraksi dengan perkakas pengembangan perangkat lunak (''SDK'') spesifik-serambi (''platform-specific'') seperti yang disediakan oleh [[Android (sistem operasi)|Android]] dan [[iOS]].<ref name=":0">{{Cite web|url=https://flutter.io/technical-overview/|title=Technical Overview - Flutter|website=flutter.io|language=en|access-date=2017-12-13}}</ref> |
''Flutter engine'', ditulis terutama dengan [[bahasa pemrograman]] [[C++]], memberikan dukungan [[Rendering (grafik komputer)|rendering]] tingkat rendah menggunakan ''library'' grafik Skia milik Google. Selain itu, ''flutter engine'' juga berinteraksi dengan perkakas pengembangan perangkat lunak (''SDK'') spesifik-serambi (''platform-specific'') seperti yang disediakan oleh [[Android (sistem operasi)|Android]] dan [[iOS]].<ref name=":0">{{Cite web|url=https://flutter.io/technical-overview/|title=Technical Overview - Flutter|website=flutter.io|language=en|access-date=2017-12-13|archive-date=2017-12-13|archive-url=https://web.archive.org/web/20171213201209/https://flutter.io/technical-overview/|dead-url=no}}</ref> |
||
=== ''Foundation library'' === |
=== ''Foundation library'' === |
||
''Foundation library'', ditulis dengan bahasa pemrograman [[Dart (bahasa pemrograman)|Dart]], menyediakan fungsi dan ''class-class'' dasar yang digunakan untuk membangun aplikasi menggunakan Flutter, seperti [[Antarmuka pemrograman aplikasi|''API'']] untuk berkomunikasi dengan ''engine''.<ref name=":0" /><ref>{{Cite web|url=https://docs.flutter.io/flutter/foundation/foundation-library.html|title=foundation library - Dart API|website=docs.flutter.io|language=en|access-date=2017-12-13}}</ref> |
''Foundation library'', ditulis dengan bahasa pemrograman [[Dart (bahasa pemrograman)|Dart]], menyediakan fungsi dan ''class-class'' dasar yang digunakan untuk membangun aplikasi menggunakan Flutter, seperti [[Antarmuka pemrograman aplikasi|''API'']] untuk berkomunikasi dengan ''engine''.<ref name=":0" /><ref>{{Cite web|url=https://docs.flutter.io/flutter/foundation/foundation-library.html|title=foundation library - Dart API|website=docs.flutter.io|language=en|access-date=2017-12-13|archive-date=2017-12-13|archive-url=https://web.archive.org/web/20171213143153/https://docs.flutter.io/flutter/foundation/foundation-library.html|dead-url=yes}}</ref> |
||
==== Widget ==== |
==== Widget ==== |
||
Baris 47: | Baris 47: | ||
=== Widget spesifik-desain === |
=== Widget spesifik-desain === |
||
''Framework'' Flutter berisi dua set [[#Widget|widget]] yang disesuaikan dengan bahasa desain tertenu. Widget [[Desain Material|''Material Design'']] menerapkan bahasa desain Google dengan nama yang sama, sedangkan widget 'Cupertino' meniru desain [[iOS]] milik Apple.<ref name=":0" /><ref>{{Cite web|url=https://flutter.io/widgets/material/|title=Material Design Widgets - Flutter|website=flutter.io|language=en|access-date=2017-12-13}}</ref><ref>{{Cite web|url=https://flutter.io/widgets/cupertino/|title=Cupertino (iOS-style) Widgets - Flutter|website=flutter.io|language=en|access-date=2017-12-13}}</ref> |
''Framework'' Flutter berisi dua set [[#Widget|widget]] yang disesuaikan dengan bahasa desain tertenu. Widget [[Desain Material|''Material Design'']] menerapkan bahasa desain Google dengan nama yang sama, sedangkan widget 'Cupertino' meniru desain [[iOS]] milik Apple.<ref name=":0" /><ref>{{Cite web|url=https://flutter.io/widgets/material/|title=Material Design Widgets - Flutter|website=flutter.io|language=en|access-date=2017-12-13|archive-date=2017-12-13|archive-url=https://web.archive.org/web/20171213201309/https://flutter.io/widgets/material/|dead-url=no}}</ref><ref>{{Cite web|url=https://flutter.io/widgets/cupertino/|title=Cupertino (iOS-style) Widgets - Flutter|website=flutter.io|language=en|access-date=2017-12-13|archive-date=2017-12-13|archive-url=https://web.archive.org/web/20171213201019/https://flutter.io/widgets/cupertino/|dead-url=no}}</ref> |
||
<br /> |
<br /> |
||
Baris 82: | Baris 82: | ||
== Pranala luar == |
== Pranala luar == |
||
* [https://flutter.io/ Situs resmi] |
* [https://flutter.io/ Situs resmi] {{Webarchive|url=https://web.archive.org/web/20190217120900/https://flutter.io/ |date=2019-02-17 }} |
||
{{Google Inc.}} |
{{Google Inc.}} |
Revisi terkini sejak 9 Mei 2024 13.23
Flutter | |||||||||
---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||
Tipe | Kerangka kerja ![]() | ||||||||
Versi pertama | Alpha (v0.0.6) / Mei 2017[1] | ||||||||
Versi stabil | |||||||||
Genre | Kerangka kerja aplikasi | ||||||||
Lisensi | lisensi BSD 3-ayat ![]() | ||||||||
| |||||||||
| |||||||||
Sumber kode | |||||||||
| |||||||||
Flutter adalah sebuah kerangka kerja aplikasi seluler sumber terbuka yang diciptakan oleh Google. Flutter digunakan dalam pengembangan aplikasi untuk sistem operasi Android, iOS, Windows, Linux, MacOS, serta menjadi metode utama untuk membuat aplikasi Google Fuchsia.[5] Flutter juga mendukung untuk pengembangan aplikasi berbasis web.[6]
Sejarah
[sunting | sunting sumber]Versi pertama Flutter dikenal sebagai "Sky" dan berjalan pada sistem operasi Android. Diresmikan pada perhelatan Dart developer summit tahun 2015, dengan tujuan untuk mampu merender grafis secara konsisten pada 120 bingkai per detik.[7]
Flutter 1.0 dirilis pada tanggal 4 Desember 2018 di acara Flutter Live,[8] yang menunjukkan versi "stabil" pertama dari Framework Flutter.
Arsitektur
[sunting | sunting sumber]Komponen utama Flutter termasuk:
- Dart Platform
- Flutter engine
Foundation library
[sunting | sunting sumber]- Widget spesifik desain
Dart Platform
[sunting | sunting sumber]Flutter ditulis dengan bahasa pemograman Dart. Flutter berjalan di mesin virtual Dart yang dilengkapi mesin eksekusi Kompilasi tepat waktu (Inggris: just-in-time). Saat melakukan pemograman atau debugging aplikasi, Flutter menggunakan Kompilasi tepat waktu untuk melakukan "hot reload", yang dapat menambahkan hasil modifikasi kode langsung ke aplikasi yang sedang berjalan.
Versi rilis aplikasi Flutter dikompilasi dengan ahead-of-time (AOT) di Android dan iOS, memungkinkan kinerja tinggi Flutter di perangkat seluler menjadi mungkin.[9]
Flutter engine
[sunting | sunting sumber]Flutter engine, ditulis terutama dengan bahasa pemrograman C++, memberikan dukungan rendering tingkat rendah menggunakan library grafik Skia milik Google. Selain itu, flutter engine juga berinteraksi dengan perkakas pengembangan perangkat lunak (SDK) spesifik-serambi (platform-specific) seperti yang disediakan oleh Android dan iOS.[10]
Foundation library
[sunting | sunting sumber]Foundation library, ditulis dengan bahasa pemrograman Dart, menyediakan fungsi dan class-class dasar yang digunakan untuk membangun aplikasi menggunakan Flutter, seperti API untuk berkomunikasi dengan engine.[10][11]
Widget
[sunting | sunting sumber]Desain antarmuka pengguna dalam Flutter melibatkan perakitan dan/atau pembuatan berbagai widget. Sebuah widget dalam Flutter mewakili deskripsi yang tetap dari bagian antarmuka pengguna; semua grafik, termasuk teks, bentuk, dan animasi dibuat menggunakan widget. Widget yang lebih kompleks dapat dibuat dengan memadukan widget-widget yang lebih sederhana.
Widget spesifik-desain
[sunting | sunting sumber]Framework Flutter berisi dua set widget yang disesuaikan dengan bahasa desain tertenu. Widget Material Design menerapkan bahasa desain Google dengan nama yang sama, sedangkan widget 'Cupertino' meniru desain iOS milik Apple.[10][12][13]
Contoh Hello World
[sunting | sunting sumber]Berikut ini merupakan contoh aplikasi Hello World menggunakan Flutter.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Hello World'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
Referensi
[sunting | sunting sumber]- ^ "Salinan arsip". Diarsipkan dari versi asli tanggal 2019-02-05. Diakses tanggal 2018-08-04.
- ^ "Flutter SDK releases". flutter.dev. Diarsipkan dari versi asli tanggal 2020-05-08. Diakses tanggal 2019-12-28.
- ^ "Flutter makes it easy and fast to build beautiful mobile apps.: flutter/flutter". July 29, 2019. Diarsipkan dari versi asli tanggal 2023-06-28. Diakses tanggal 2018-08-04 – via GitHub.
- ^ "Salinan arsip". Diarsipkan dari versi asli tanggal 2018-08-09. Diakses tanggal 2018-08-04.
- ^ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". Ars Technica. Diarsipkan dari versi asli tanggal 2019-09-26. Diakses tanggal 2018-08-04.
- ^ "Web support for Flutter". flutter.dev (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2021-11-11. Diakses tanggal 2019-12-28.
- ^ Amadeo, Ron (1 May 2015). "Google's Dart language on Android aims for Java-free, 120 FPS apps". Ars Technica. Diarsipkan dari versi asli tanggal 2015-05-06. Diakses tanggal 2018-08-04.
- ^ Announcing Flutter 1.0 (Flutter Live, Keynote Part 1), diarsipkan dari versi asli tanggal 2023-04-18, diakses tanggal 2019-12-28
- ^ "FAQ". flutter.dev (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2021-10-10. Diakses tanggal 2019-12-28.
- ^ a b c "Technical Overview - Flutter". flutter.io (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2017-12-13. Diakses tanggal 2017-12-13.
- ^ "foundation library - Dart API". docs.flutter.io (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2017-12-13. Diakses tanggal 2017-12-13.
- ^ "Material Design Widgets - Flutter". flutter.io (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2017-12-13. Diakses tanggal 2017-12-13.
- ^ "Cupertino (iOS-style) Widgets - Flutter". flutter.io (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2017-12-13. Diakses tanggal 2017-12-13.
Pranala luar
[sunting | sunting sumber]- Situs resmi Diarsipkan 2019-02-17 di Wayback Machine.