Contents
    Apakah PyScript akan menggantikan JavaScript?

    Apakah PyScript akan menggantikan JavaScript?

    Memahami framework untuk menampilkan program Python di browser menggunakan antarmuka HTML.

    Posted by Jagad on June 4, 2022
    -- views

    5 min read

    Pengantar

    PyScript adalah framework untuk menampilkan program Python di browser menggunakan antarmuka HTML. mirip dengan javascript, tetapi ditulis dengan bahasa pemrograman Python.

    Sebelum kita mulai, saya akan mengatakan di awal bahwa PyScript tidak akan menggantikan JavaScript.

    Meme about PyScript

    PyScript tidak memiliki banyak fitur seperti JavaScript. Jika kalian membuka PyScript | Run Python in your HTML, Dapat dilihat bahwa Pyscript masih sangat-sangat alfa dan tidak disarankan untuk production.

    Tapi tidak seru jika kita selesai sampai disini. kita akan membahas lebih lanjut tentang PyScript di posting ini.

    Fitur PyScript

    Berikut ini adalah beberapa fitur PyScript yang dapat digunakan:

    • Python di browser: Aktifkan konten drop-in, hosting file eksternal, dan hosting aplikasi tanpa bergantung pada konfigurasi sisi server
    • Ekosistem Python: Jalankan banyak package populer Python dan library (seperti numpy, pandas, scikit-learn, dan banyak lagi)
    • Python dengan JavaScript: Komunikasi dua arah antara Python dan JavaScript
    • Manajemen Environment: Izinkan pengguna untuk menentukan package dan file apa yang akan dimasukkan untuk menjalankan kode.
    • Pengembangan aplikasi visual: Dapat menggunakan komponen UI pilihan yang tersedia.
    • fleksibel framework: framework yang fleksibel yang dapat dimanfaatkan untuk membuat dan berbagi komponen pluggable dan extensible baru secara langsung dengan Python.

    Memulai

    Untuk menginstal PyScript sangat mudah. kalian cukup membuka PyScript | Jalankan Python di HTML Kalian dan ikuti petunjuknya.

    Installation instructions

    PyScript membuat lelucon lucu 😂😂😂

    Omong-omong, kita tidak perlu menginstal PyScript. kita cukup memasukkan tag berikut ke dalam html.

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      </head>
      <body></body>
    </html>
    

    Setelah itu, kita dapat membuka html dengan ekstensi live server atau membukanya di browser dengan mengklik file html.

    Komponen PyScript

    Untuk menjalankan PyScript, kita perlu menambahkan tag <py-script> dan memasukkan kode python yang dapat dijalankan di dalam halaman web.

    misalnya, kita ingin print hello world dan menampilkan pada halaman web. Kita bisa melakukannya seperti ini:

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      </head>
      <body>
        <py-script> print('hello world') </py-script>
      </body>
    </html>
    
    Print hello world

    PyScript dengan library Populer

    Kita juga dapat menggunakan library populer pada PyScript. Misalnya, kita dapat menggunakan pandas untuk membaca file csv.

    Karena kita membutuhkan Library eksternal, kita perlu mendeklarasikannya dalam tag <py-env>.

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
        <py-env> - pandas </py-env>
      </head>
      <body>
        .....
      </body>
    </html>
    

    Setelah itu, kita dapat menggunakan pandas dalam kode PyScript seperti berikut:

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
        <py-env> - pandas </py-env>
      </head>
      <body>
        <py-script>
          import pandas as pd
          from pyodide.http import open_url
    
          data_training = pd.read_csv(open_url("https://raw.githubusercontent.com/jagadyudha/jagadyudha/main/data_training.csv"))
          data_training.head()
        </py-script>
      </body>
    </html>
    
    PyScript with pandas

    Tidak hanya itu, kita dapat menggunakan library sklearn untuk membuat machine learning.

    Dalam hal ini, saya ingin menggunakan sklearn.naive_bayes

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
        <py-env> 
            - pandas
            - scikit-learn
            - numpy
        </py-env>
      </head>
      <body>
        <py-script>
          import pandas as pd
          from sklearn.model_selection import train_test_split
          from sklearn.naive_bayes import GaussianNB
          from pyodide.http import open_url
          from sklearn.metrics import classification_report
          import numpy as np
    
          data_training = pd.read_csv(open_url("https://raw.githubusercontent.com/jagadyudha/jagadyudha/main/data_training.csv"))
          x = data_training.drop(["Jenis Gangguan"], axis=1)
          y = data_training["Jenis Gangguan"]
          x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.18, random_state=45)
          modelnb = GaussianNB()
          nbtrain = modelnb.fit(x_train, y_train)
          y_pred = nbtrain.predict(x_test)
            
          print("Predict :", y_pred)
          print("Actual :", np.array(y_test))
    
          print(classification_report(y_test, y_pred))
        </py-script>
      </body>
    </html>
    
    PyScript with sklearn

    Saya tidak akan menunjukkan cara membaca data karena akan memakan banyak waktu. Namun, dapat dilihat bahwa PyScript juga berfungsi untuk menjalankan machine learning.

    Komponen PyRepl

    <py-repl> digunakan untuk membuat komponen REPL yang ditampilkan ke halaman sebagai editor kode dan memungkinkan pengguna untuk menulis kode yang dapat dieksekusi.

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>PyScript Playground</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      </head>
      <body>
        <py-repl id="repl" auto-generate="true"></py-repl>
        <p style="margin-left: 30px">shift + enter to run</p>
      </body>
    </html>
    
    PyRepl Component

    Bermain Mario dengan PyScript

    PyScript juga dapat digunakan untuk menjalankan game seperti Mario Bros. Cek source code di tautan berikut: pyscript/examples/mario at main pyscript/pyscript (github.com)

    Kesimpulan

    Terlalu dini bagi PyScript untuk mengalahkan JavaScript. Sejujurnya, menurut saya pribadi hampir tidak mungkin untuk mengalahkan JavaScript.

    Apakah menurut kalian PyScript akan mengalahkan Javascript? beri tahu apa yang kalian pikirkan di komentar.


    Post Reactions
    LIKE
    LOVE
    Wow
    YAY
    Contributors

    The writing on this website may contain errors in grammar, punctuation, etc. Please make a contribution here