Google App Inventor: apakah drag and drop gagal?

BlokirEdThumb
Google App Inventor: apakah drag and drop gagal?

Waktu pengakuan: Saya belum pernah belajar pemrograman di Java. Pingsan, terkesiap.

Bukannya aku tidak menginginkannya. Secara khusus, saya selalu menyukai gagasan untuk membuat aplikasi ponsel saya sendiri; tapi sepertinya aku tidak pernah menemukan waktu yang tepat. Jadi saya sangat bersemangat saat mengetahui di akhir pekan bahwa Google akhirnya memberi saya akses ke App Inventor — sebuah visual lingkungan pengembangan yang memungkinkan Anda membuat aplikasi Android melalui antarmuka drag-and-drop, tanpa keahlian Java diperlukan.

Hal ini tentu saja menyederhanakan prosesnya. Contoh aplikasi pertama – yang menampilkan gambar kucing yang mengeong saat Anda mendorongnya – sangat mudah untuk dibuat. Pada tahap desain, Anda cukup menyeret tombol ke ruang kerja Anda (mewakili layar ponsel), mengimpor gambar kucing, menetapkan gambar ke tombol, dan mengimpor suara. Buat acara klik yang memutar suara, dan pekerjaan selesai.

Jadi ya, alur kerjanya mirip dengan Microsoft Visual Studio — bukan berarti ada yang salah dengan itu. Namun ada satu perbedaan besar: di VB.NET, menyiapkan event handler untuk tombol melibatkan pemahaman beberapa sintaksis yang rumit, seperti:

Sub Pribadi Button1_Click (Pengirim ByVal Sebagai System. Objek, ByVal e Sebagai Sistem. EventArgs) Menangani Tombol1.Klik

Blok1Di App Inventor, Anda merakit event handler hanya dengan menyatukan “blok” yang diberi kode warna dan berbentuk kepingan puzzle. Faktanya, semua “kode” dibuat dengan menggabungkan blok-blok di dalam Blocks Editor berbasis Java. Seperti yang diakui secara terbuka oleh Google, sistem ini berhutang banyak pada proyek Scratch MIT, sebuah sistem pemrograman pendidikan yang telah kami buatkan tutorialnya di artikel kami. Pelajaran Komputasi Gratis untuk Anak-Anak fitur.

Sederhana kekanak-kanakan?

Apakah ini menunjukkan bahwa App Inventor juga ditujukan untuk anak-anak? Iya dan tidak. Google mengatakan bahwa App Inventor dirancang dari “perspektif pendidikan”, dan diuji di “ruang kelas di seluruh Amerika Serikat”, yang sepertinya merupakan petunjuk yang cukup jelas. Namun Mark Friedman dari Google juga menggambarkannya sebagai alat yang lebih luas, untuk “pemrogram dan non-pemrogram, profesional dan pelajar”. Tentu saja ini dapat mendukung konstruksi secanggih apa pun yang Anda temukan dalam bahasa yang lebih dewasa:

Blok2

Jadi, meskipun App Inventor ditujukan terutama untuk anak-anak, ini bukan hanya alat kelas. Pada prinsipnya, ini harus cukup kuat untuk menghasilkan aplikasi apa pun yang dapat Anda bayangkan.

Blok penulis

Sayangnya, begitu saya mulai menggunakan App Inventor, saya menemukan kendalanya. Menyeret blok mungkin merupakan pengenalan pertama yang bagus ke dalam komputasi, tetapi jika Anda ingin membuat sesuatu yang lebih kompleks daripada “Pet the Kitty”, ini adalah cara yang lambat dan rumit untuk bekerja. Tidak ada gunanya jika blok yang Anda perlukan dibagi menjadi dua tab yang terdiri dari tujuh laci atau lebih, dan seiring Anda membangun up fungsi ruang kerja menjadi lebih berantakan dan sulit dinavigasi (lihat tangkapan layar di bagian atas ini pos). Mungkin seiring berjalannya waktu, Editor Blok akan menjadi lebih baik, namun saat ini hal tersebut sangat disayangkan sehingga saya dapat melihatnya membuat orang menjauh dari pemrograman sama sekali.

Ini sangat disayangkan, karena beberapa fungsi yang ditawarkan tampaknya dirancang untuk menarik bagi pembuat kode berpengalaman, dan mendukung beberapa kemampuan khusus seluler:

Blok3

Namun jika Anda bertanya kepada saya, representasi ini sebenarnya lebih sulit untuk dipahami daripada fungsi yang ditulis dalam teks biasa — dan tentu saja lebih sulit untuk dibuat.

Semua ini membuat App Inventor tampak seperti peluang yang terlewatkan. Ya, untuk anak-anak yang menjadi sasaran utama program ini, ini adalah pengenalan konsep pemrograman yang layak. Namun potensinya jauh melebihi itu, dan saya khawatir potensi tersebut tidak akan pernah dimanfaatkan secara berguna, karena siapa pun yang memiliki kemampuan pemrograman dapat memanfaatkan Aplikasi sepenuhnya. Kemampuan Inventor pasti akan lebih memilih bahasa yang tidak memaksa Anda untuk dengan cermat menyusun setiap fungsi, prosedur, dan acara dari warna-warni. blok.

Menulis ulang naskahnya

Sejujurnya, kita optimis untuk berpikir bahwa lingkungan pengembangan apa pun bisa menjadi sempurna baik untuk proyek pemula maupun desain yang lebih kompleks. Tapi, yang menarik, menurut saya App Inventor bisa mendekatinya dengan satu tambahan saja. Yang dibutuhkan adalah tampilan berbasis skrip tradisional yang beroperasi secara paralel dengan Blocks Editor. Untuk pemula, ini akan menampilkan kode yang dihasilkan secara otomatis (mungkin menggunakan sintaks tipe Java sederhana) mewakili konstruksi berbasis blok mereka, menjadikan App Inventor pengenalan yang lebih baik pemrograman.

Sementara itu, pengguna yang lebih mahir dapat mengembangkan langsung dalam editor skrip, sambil tetap menggunakan App Inventor sebagai alat yang menghemat waktu untuk merancang antarmuka dan mengemas proyek yang telah selesai. Tampilan blok, yang dihasilkan secara otomatis dari kode Anda, akan menjadi bantuan visual yang berguna untuk debugging dan alur program.

Namun karena tidak adanya editor skrip, saya ragu dapat memproduksi aplikasi seluler apa pun dengan App Inventor. Google tentunya layak mendapat pujian atas kerja luar biasa yang dilakukannya dalam menyederhanakan pengembangan Android, dan memisahkannya dari seluk beluk perpustakaan dan dependensi. Tetapi jika satu-satunya cara untuk memanfaatkannya adalah melalui pemrograman drag-and-drop maka secara pribadi menurut saya lebih baik saya mempelajari Java saja.