Artikel #48
PyScript, ???? Akankah Menggantikan Javascript?
Mau bikin web, tapi gak suka pakai Javascript.
Tentang.. masih ada bahasa pemrograman lain.
Python memang sudah lama bisa kita pakai untuk membuat web. Namun, peran Python di web kebanyakan sebagai backend.
Artinya, Python cuma dijalankan di sisi server. Sedangkan di sisi client (web browser) kebanyakan masih pakai Javascript.
Tapi tenang saja..
Ada teknologi baru yang bisa membuat Python berjalan di web browser?
Apa itu?
Pyscript.
Apa Itu PyScript?
PyScript adalah teknologi baru untuk menjalankan Python di browser. PyScript di belakangnya menggunakan teknologi Pyodie dan WebAssembly.
sumber: anaconda.cloud
WebAssembly memang sudah lama bisa kita pakai untuk menjalankan program dari bahasa pemrograman apapun di web browser.
Yang penting bisa di-compile ke WebAssembly (wasm
), maka ia akan bisa dijalankan di Browser.
Namun, metode yang ditawarkan oleh PyScript adalah tanpa compile.
Kita tinggal tulis atau embed kode Python di HTML dengan tag
maka program akan otomatis dijalankan.
Contoh:
<html>
...
print('Now you can!')
</html>
Ini seperti menulis kode Javascript di HTML.
Begitu mudah.. ????
Cara ini sebenarnya sudah dicoba Brython, namun mereka sepertinya tidak pakai WebAssembly.
Awal Kemunculan PyScript
Awalnya muncul di bulan April 2022. Kamu bisa cek di Tweet pertama @pyscript_dev di tanggal 03 April 2022.
<iframe frameborder="0" id="twitter-widget-0" scrolling="no" src="https://platform.twitter.com/embed/Tweet.html?dnt=false&embedId=twitter-widget-0&features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ==&frame=false&hideCard=false&hideThread=false&id=1510475506663059460?=id&origin=https://www.petanikode.com/pyscript/&sessionId=628976c394336a9fea0c3307cafd6204e53bdb34&siteScreenName=petanikode&theme=light&widgetsVersion=2615f7e52b7e0:1702314776716&width=550px" title="X Post"></iframe>
Sengaja di-tweet di tanggal 3.. biar tidak dikira April Fool.
Kemudian di acara PyCon US 2022, CEO Anaconda si Peter Wang menjadi pembicara di sana dan membawa topik tentang PyScript.
PyScript sendiri memang dibuat oleh tim Anaconda termasuk Peter Wang.
Kemudian ramai dibicarakan di internet dan banyak bermunculan meme tentang PyScript.
Ada yang bilang Javascript akan mati karena adanya PyScript.
Ada juga yang bilang: tidak mungkin, karena Javascript sendiri gak bisa dikalahkan untuk urusan web.
Mana yang akan terbukti benar, kita lihat saja nanti di masa depan. ????
Mencoba PyScript
Biar gak penarasan, mari kita langsung coba aja sendiri.
Pertama-tama, kita harus menambahkan PyScript di HTML seperti ini:
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
[removed][removed]
Seperti biasa, kode ini ???? ditulis di dalam tag <head>
.
Lalu, kita tinggal buat tag
di dalam tag <body>
yang berisi kode Python.
print('Hello PyScript!')
Maka hasilnya:
Hasil eksekusi kodenya tidak akan langsung ditampilkan. Ada proses di belakang layar yang dilakukan.
Pertama, browser akan men-download runtime untuk menjalankan kode Python. Ini memakan waktu cukup lama, karena ukuran filenya cukup besar.
Pada koneksi internet yang saya gunakan, saya membutuhkan waktu 3 menitan untuk membuka dan menjalankannya.
Ini akan memberikan pengalaman yang buruk bagi pengguna, karena waktu load-nya yang lama.
Sekarang kita dituntut untuk membuat web yang bisa dibuka kurang dari 10 detik.
Mungkin menggunakan PyScript untuk membuat web akan kurang cocok. Tapi coba kita coba use case yang lainnya.
Kali ini saya akan coba menjalankan game mario dari contoh kode yang disediakan di repository PyScript.
Hasilnya:
Game belum bisa saya mainkan, cuma stuck tampil seperti ini.
Mungkin ada yang salah dalam cara saya mencoba.
Hmm.. ????
Masa Depan PyScript
Karena masih versi alpha, saya tidak bisa berkata apa-apa. Mungkin saja ke depan akan ada update terbaru dan optimasinya lebih baik.
Atau mungkin ke depannya PyScript akan mendukung bahasa lain.
sumber: anaconda.cloud
Jadi tidak hanya Python saja yang bisa kita tulis di tag
, tapi bisa juga C, C++, Rust, R, Go, dan sebagainya.
Akhir Kata..
Itulah review singkat dari saya tentang PyScript.
Jika kamu tertarik untuk mencobanya, bisa mampir ke repository atau website resminya di pyscript.net.
Saat ini Javascript memang bahasa pemrograman yang paling ideal dipakai di Web.
Untuk Saat ini, PyScript belum mampu mengalahkan Javascript. Tapi kita tidak tau ke depan.
Apakah menurutmu PyScript akan mampu bersaing dan mengalahkan Javascript?