author Ahmad Muhardian

PyScript, 🤔 Akankah Menggantikan Javascript?


Apa itu PyScript

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 dibelakangnya menggunakan teknologi Pyodie dan WebAssembly.

Arsitektur PyScript
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 dijalanakn di Browser.

Namun, metode yang ditawarkan oleh PyScript adalah tanpa compile.

Kita tinggal tulis atau embed kode Python di HTML dengan tag <py-script> maka program akan otomatis dijalankan.

Contoh:

<html>
    ...
    <py-script> print('Now you can!') </py-script>
</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.

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.

pycon us 2022

PyScript sendiri memang dibuat oleh tim Anaconda termasuk Peter Wang.

Kemdian ramai dibicarakan di internet dan banyak bermunculan meme tentang PyScript.

meme 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" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>

Seperti biasa, kode ini 👆 ditulis di dalam tag <head>.

Lalu, kita tinggal buat tag <py-script> di dalam tag <body>yang berisi kode Python.

<py-script> print('Hello PyScript!') </py-script>

Maka hasilnya:

hello world pyscript

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.

resource pyscript

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:

contoh super mario

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 kedepan akan ada update terbaru dan optimasinya lebih baik.

Atau mungkin kedepannya PyScript akan mendukung bahasa lain.

PytScript
sumber: anaconda.cloud

Jadi tidak hanya Python saja yang bisa kita tulis di tag <py-script>, 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 pemrogrman yang paling ideal dipakai di Web.

Untuk Saat ini, PyScript belum mampu mengalahkan Javascript. Tapi kita tidak tau kedepan.

Apakah menurutmu PyScript akan mampu bersaing dan mengalahkan Javascript?

Tuliskan pendapatmu di komentar. 👇👇👇

Baca Juga ini

Apa sih Bedanya Statement dengan Expression dalam Pemrograman?

Apa sih Bedanya Statement dengan Expression dalam Pemrograman?

Statement dan ekspression merupakan bagian terpenting dalam pemrograman. Lalu, apa perbedaan statement dengan eskspresi? Mari kita bahas..

Menggambar Objek dengan Perulangan dan Fungsi Random di HTML5 Canvas

Menggambar Objek dengan Perulangan dan Fungsi Random di HTML5 Canvas

Pada artikel pengenalan HTML5 Canvas sebelumnya, kita sudah belajar cara menggamabar objek-objek dasar seperti titik, garis, persegi, lingkaran, dan segitiga. Obejek digambar hanya sekali saja. Bagaiaman kalau kita ingin menggambar banyak objek dan digambar secara acak? Untuk menjawab pertanyaan ini, kita harus menggunakan perulangan dan fungsi random(). Lebih jelasnya, mari kita bahas… Menggambar Objek dengan PerulanganPada contoh di artikel sebelumnya, kita sudah pernah menggamabar persegi dua kali. <script type="text/javascript"> var canvas = document.

Mengenal HTML5 Canvas untuk Pemrograman Grafis dan Game

Mengenal HTML5 Canvas untuk Pemrograman Grafis dan Game

Sebelum kedatangan HTML5, Game dan elemen multimedia lainnya disajikan dalam browser menggunakan Flash. Banyak game berbasis Flash yang bisa dimainkan melalui browser. Bahkan Flash juga digunakan untuk memutar video. Seingat saya dulu…tanpa Flash Player, kita tidak bisa memutar video di Youtube. Namun semuanya berubah setelah kedatangan HTML5… 1 HTML5 membawa banyak elemen baru yang menggantikan tugas Flash dalam browser. Salah satunya adalah canvas. Apa itu Canvas?Dalam dunia nyata, canvas sering digunakan untuk menggambar dan melukis.

7 (Bahasa) Pemrograman yang Dapat Dilakukan Langsung di Ubuntu

7 (Bahasa) Pemrograman yang Dapat Dilakukan Langsung di Ubuntu

Apa saja bahasa pemrograman yang bisa kamu langsung pakai di Ubuntu?

Memahami Cara Kerja Fungsi Rekursif

Memahami Cara Kerja Fungsi Rekursif

Gimana sih cara kerja fungsi rekursif dalam pemrograman?

Perbedaan Perulangan While dan Do/While

Perbedaan Perulangan While dan Do/While

Pahami perbedaan perulangan while dengan do-while dalam pemrograman