Xamarin Workbooks

Soeleman 27 April 2017

Xamarin Workbooks

Pendekatan yang dipunyai oleh Jupyter memikat banyak penguna karena ia memberikan alat yang tepat untuk melaksanakan tugasnya. Menariknya justru ia lebih banyak digunakan untuk melakukan pekerjaan Data Science. Python yang digunakan itu jadi seperti SQL saja. Awalnya menggunakan Python, tapi lama kelamaan arahnya ke R. Ini dimungkinkan karena Jupyter cukup flexible untuk itu.

Seperti Azure Notebooks, yang menggunakan Jupyter sebagai host-nya dan memodifikasi agar bisa menjalankan kode F# dan R juga.

alt text

Jupyter memiliki posisi yang mengisi diantara read-eval-print-loop(REPL) dan IDE. Dengan REPL terlalu sederhana dan IDE terlalu berat. Dan bagi penggunanya, hanya ingin menjalankan logika dan melihat hasilnya (baik data tabular atau gambar) tanpa terlalu banyak serimoni untuk itu. Disini Jupyter menjawab tantangan itu.

Workbooks

Bagi C#, belum adanya dukungan oleh Azure Notebooks dan memodifikasi Jupyter bukan hal mudah juga. Untuk itu Xamarin menghadirkan Xamarin Workbooks. WorkBooks adalah desktop aplikasi. Dibuat seperti itu karena produk ini ditargetkan dapat menjalankan kode berbasis Graphical User Interface(GUI). Seperti untuk Extensible Application Markup Language(XAML) atau Xamarin baik itu Android dan iOS. Jadi bukan sekadar menjalankan kode tapi mengelola desktop aplikasi yang dibuat disini. Mirip dengan Jupyter tapi berbeda pendekatan esekusinya.

alt text

Setelah kita pasang, yang pertama terlihat pada saat menjalankan aplikasi ini adalah windows seperti dibawah. Dari sana kita ada pilihan membuat workbook yang terdiri dari beberapa model. Atau kalau bila kita sudah mempunyai workbook yang sudah ada, tinggal dibuka lewat menu File.

alt text

Hello

Diseksi ini kita akan coba melihat bagaimana menggunakan WorkBooks. Pada windows awal, kita pilih Console. Dari situ muncul kotak, yang kita bisa masukkan kode C#. Dan seperti biasa kita buat Hello, dengan membuat variable hello yang kita isi dengan kalimat seperti dibawah. Untuk menjalankan kita bisa tekan tombol play atau tekan control + return.

alt text

Walau kode itu hanya mendeklarasikan sebuah variable. WorkBooks akan menampilkan variable itu karena ia berada dibaris terakhir. Dan ada pilih juga cara menampilkannya, baik secara object plain text dan object members-nya.

alt text

Kita juga bisa menambahkan dokumen kedalam WorkBooks dengan menekan tombol quote pada kotak sebelumnya. Setelah itu muncul kotak tapi berbeda bentuknya. Dan disana kita bisa menuliskan dokumentasi dan ada fasilitas formating-nya.

alt text

Untuk menambahkan kode, yang kita tekan tombol +, maka akan muncul kotak seperti pada kotak pertama. Kita sekarang coba menggabungkan dua String, variable hello dengan sebuah kata "[CodePolitan]".

Pembaca tentu bertanya, bukankah ini sudah beda kotaknya? apakah variable hello bisa digunakan. Pada dasarnya kode-kode yang ada dikotak-kotak tersebut akan di esekusi dalam satu kesatuan proses. Jadi kita bisa memecah kode kita dalam beberapa kotak dan tetap dijalankan sebagai satu esekusi.

alt text

Parsing Data Matrix

Biasanya kalau kita hendak menyelesaikan suatu persoalan. Kita membuat sebuah file atau dengan IDE kita membuat sebuah projek baru. Padahal kita hanya ini menyajikan saja masalah dan solusinya.

Dan dengan bantuan WorkBooks ini kita bisa menyampaikan jauh lebih rapi. Apalagi bila dilengkapi oleh dokumentasi yang baik. Disini kita coba menyelesaikan sebuah tugas, input data yang akan kita buat matrix seperti pada gambar dibawah.

alt text

Dan kita tinggal menuliskan solusi kita dikotak kode dan mendapatkan hasil yang kita inginkan. Jadi kita hanya perlu mengirimkan hasil file WorkBooks ini (file berektensi .workbook) kepada pemberi tugas kita.

alt text

Map Route

.NET memiliki NuGet sebagai package management. WorkBooks memiliki dukungan juga atas ini. Pada kesempatan ini kita akan menggunakan paket GoogleMapsApi sebagai contoh.

Tujuan demo ini adalah mendapatkan peta yang berisi jalur dari Jakarta ke Bandung. Google Map API memiliki cukup banyak langkah kalau kita ingin melakukan tanpa bantuan dari orang yang sudah mengalaminya. Oleh karena itu kita pakai paket diatas agar lebih singkat penulisan kodenya.

alt text

Buka dahulu kotak kode. Baru kita tambahkan paketnya. Paling mudah menambahkan paket melalui menu File lalu pilih menu Add Package.

alt text

Setelah itu muncul windows Package Manager. Disana kita masukkan nama paketnya dan kita pilih sesuai paket yang kita butuhkan.

alt text

Hasil dari sana akan tertulis pada kotak kode seperti pada gambar dibawah. Kalau itu dijalankan maka WorkBooks akan mengambil paket lalu di referensikan dalam WorkBooks proses.

alt text

Paket sudah ada, sekarang kita masukkan namespace yang akan kita gunakan.

alt text

Dan kita masukkan kode-nya.

alt text

Dan hasilnya kita bisa lihat. Web Browser yang terbuka berisi gambar seperti yang kita inginkan.

alt text

Penutup

Produk ini masih jauh dari sempurna tapi sudah dalam jalur yang tepat. Ia akan membantu mengisi ruang antara REPL dan IDE. Untuk demo atau testing kode bisa dijalankan, simpan dan bagikan dengan lebih mudah. Terlebih lagi bila berhubungan dengan Xamarin. Kita tidak perlu mengirimkan projek (yang itu bisa besar), cukup dengan WorkBooks.

Referensi

Perhatian! Code yang ditampilkan dalam tulisan ini merupakan ilustrasi dari yang ingin dipaparkan dan bukan production ready code. Sudah banyak kejadian karena asal meng-copy-and-paste tanpa mengerti code yang diambil itu ke dalam production. Selain itu perlu ada tambahan code dan test sebelum siap untuk digunakan secara utuh.