
Kebetulan saya bebas dari pekerjaan. Di sisi lain, saya tidak terbiasa duduk diam, tetapi saya sudah lama ingin mencoba sesuatu yang baru.
Saya tidak perlu berpikir panjang, karena saya telah mengikuti Flutter untuk waktu yang lama. Saya tidak terlibat dalam pengembangan ponsel sebelumnya, jadi sangat menarik untuk memeriksa diri saya sendiri - bukankah saya benar-benar mati rasa sebagai seorang pengembang. Ya, sudah jelas bahwa artikel itu dirancang untuk "boneka" yang sama seperti yang saya lakukan. Tidak akan ada contoh dan analisis kode tertentu, melainkan deskripsi tayangan umum.
Karena bagi saya cara terbaik untuk belajar bahasa atau teknologi baru adalah dengan membuat aplikasi kecil tapi lengkap, maka saya mulai dengan mengatur tugas.
Pernyataan masalah
Saya sudah lama ingin memiliki aplikasi di ponsel saya yang menjalankan sesuatu di komputer saya. Semacam panel kontrol, saat Anda tidak perlu beralih antar program, gerakkan mouse untuk mencari menu dan lakukan tindakan lain. Layar tambahan dengan tombol pasti tidak akan menyakiti saya.
Segera jelas bahwa Anda tidak dapat melakukan dengan satu telepon, Anda perlu membuat aplikasi server untuk komputer. Karena saya melakukannya sendiri, Anda dapat menggunakan file uji dengan daftar perintah yang sedang berjalan yang akan ditampilkan di ponsel dalam bentuk tombol. Tidak ada keraguan dengan bahasa pengembangan, karena saya baru-baru ini menulis di Go dan sangat cocok untuk tugas ini.
Jadi, di telepon kami memiliki dua halaman - login dan daftar tombol. Di komputer - server web paling sederhana yang memuat tombol saat startup, mengembalikan daftar satu per satu, dan menjalankan perintah yang diinginkan. Untuk mempermudah, Anda dapat membuat satu asumsi - telepon melalui wi-fi harus terhubung ke jaringan yang sama dengan komputer.
Dan tentu saja, semuanya harus open source (tautan di bagian akhir), sehingga orang yang tertarik memiliki sesuatu untuk dikritik.
Bergetar
Karena sisi server tidak sulit, saya memutuskan untuk memulai dengan Flutter. Jika ada kesulitan, maka Anda juga tidak perlu menulis apa pun di Go. Memasang Flutter berjalan tanpa kejutan, meskipun saya masih harus menginstal Android Studio. Karena saya menggunakan Kode Visual, saya juga menginstal ekstensi tambahan di sana. Saat membuat proyek, Flutter tidak membuat proyek kosong, tetapi program Hello, tingkat dunia, yang, jika diinginkan, dapat diluncurkan segera. Pertanyaannya adalah bagaimana melihatnya. Saya mencoba tiga cara
- Buat emulator di Android Studio . Jika komputer tidak kuat, maka hanya ada satu plus - Anda dapat memilih model telepon yang diinginkan. Pada i5 saya dengan memori 8 GB dan SSD, bekerja dengan emulator membawakan saya kesedihan mental. Jadi saya mulai mencari alternatif.
- Chrome Karena Flutter dapat mengkompilasi program dalam js dan html, saya memutuskan untuk menggunakan opsi ini. Untuk melakukan ini, saya benar-benar harus beralih dari cabang stabil ke master (di stabil tidak ada dukungan web), tetapi mulai mulai lebih cepat. Kelemahannya adalah bahwa beberapa fitur seluler tidak berfungsi dan tampilannya sendiri sedikit berbeda, misalnya dalam font, tetapi sangat cocok untuk pekerjaan kasar pada aplikasi.
- Telepon sendiri . Metode yang sangat baik adalah mengaktifkan mode pengembang di telepon dan menghubungkan ponsel ke komputer. Pro - kurangnya rem dan "fisik" bekerja dengan aplikasi, kontra - mode pengisian daya ponsel yang konstan.
Seperti yang Anda ketahui, Flutter menggunakan bahasa pemrograman Dart. Saya tidak akan mengatakan bahwa ini adalah bahasa yang luar biasa, tetapi Google tampaknya memutuskan bahwa yang baik tidak akan hilang dan memberinya kesempatan kedua. Tidak ada waktu untuk mengajarinya, jadi saya tidak mengajarinya. Saya hanya berpegang pada prinsip berikut, jika ada sesuatu yang tidak jelas dalam contoh fragmen yang ingin saya gunakan, maka ini perlu dipahami. Tampaknya Anda tidak secara khusus mempelajari bahasa tersebut, tetapi gambaran umum mulai terbentuk. Setidaknya, apa perbedaan antara
final dan
const , dan apa itu
?? b , saya sekarang tahu.
Flutter memiliki apa yang disebut hot reload, ketika aplikasi sedang berjalan, menekan r - memperbarui keadaan saat ini, R - memulai aplikasi lagi. Masalahnya hebat, tapi bersamanya aku punya satu-satunya masalah serius. Saat memperbarui kondisi saat ini,
data tidak diperbarui, ini mungkin tidak benar dikatakan, tetapi kesimpulannya adalah sebagai berikut, jika ada yang salah, lebih baik untuk me-restart aplikasi daripada teka-teki atas penyebabnya. Penemuan ini menghabiskan waktu beberapa menit.
Ketika versi debug dan rilis diluncurkan pada ponsel, flutter menginstal file apk di atasnya. Artinya, Anda dapat menjalankan contoh satu kali, dan kemudian, jika perlu, jalankan di telepon tanpa membuka proyek yang sesuai.
Saya tidak peduli dengan bagian antarmuka. Ada ide untuk memberikan kesempatan untuk mengelompokkan tombol dan menambahkan pergantian antar kelompok, tetapi memutuskan bahwa untuk versi pertama fungsionalitas yang lebih sederhana sudah cukup ... Secara umum, hal berikut terjadi.

Rilis ini dikumpulkan sesuai dengan dokumentasi resmi. Satu-satunya hal yang bisa mereka segera ingatkan adalah perubahan nama paket com.example. *, Karena Play Store menolak untuk menerima paket dengan nama-nama tersebut.
Go server
Tentang bagian desktop, bahkan tidak ada yang bisa diceritakan. Saya menghubungkan paket untuk bekerja dengan format YAML, paket untuk login dan bahkan tidak repot dengan server web, tetapi mengambil kerangka web yang sudah jadi. Karena proyek ini dibuat lebih untuk penggunaan pribadi, dan dengan antarmuka GUI hal-hal yang tidak terlalu baik, saya memutuskan untuk membatasi diri untuk mendefinisikan semua tombol dalam file konfigurasi. Satu-satunya bidang yang diperlukan untuk sebuah tombol adalah nama aplikasi yang akan diluncurkan. Selain itu, tentu saja, Anda juga dapat menentukan parameter baris perintah, ikon, judul, dll.
Saat menulis artikel ini, saya menyadari bahwa masalah keamanan tidak berhasil sampai akhir, tetapi setidaknya ada pengikatan berdasarkan kata sandi dan / atau pengidentifikasi unik untuk perangkat. Untuk jaringan lokal, menurut saya, itu sudah cukup, tetapi untuk mengelola server jauh menggunakan peretasan dalam bentuk seperti sekarang, saya tidak akan mengambil risiko.
Penempatan
Ketika pengembangan selesai dan semuanya berjalan seperti ini, langkah selanjutnya adalah mempublikasikan ke PlayStore.
Ada kekhawatiran bahwa aplikasi tersebut mungkin ditolak, tetapi masih layak untuk ditampung. Langkah termudah adalah mendaftar dan membayar biaya masuk. Segala sesuatu yang lain memerlukan proses pemikiran tertentu, tetapi tidak ada yang super rumit. Sebagai aturan, instruksi dan tip sudah cukup. Pada awalnya, saya membuat versi uji, sehari kemudian saya menerjemahkannya ke publik, dan sehari kemudian disetujui.
Kesimpulan
Flutter tidak memerlukan studi mendalam untuk membuat aplikasi sederhana. Dokumentasinya cukup luas dan Anda selalu dapat menemukan contoh dan artikel yang sudah jadi di Internet. Keinginan untuk bekerja dengan Flutter tetap ada, jika muncul ide baru, saya akan mempelajarinya lebih lanjut.
Membuat dokumentasi, merilis rilis, dan mempostingnya di Play Store, serta menulis artikel ini, membutuhkan waktu yang sebanding dengan pengembangan.
Sumber:
GitHub