Kode Brython Python (tangkapan layar - versi 3.8.8)
Pengembang proyek Brython Python telah merilis rilis baru, Brython 3.9 . Proyek itu sendiri diposisikan sebagai "Python untuk browser". Ini didasarkan pada Python 3 dan berjalan di sisi browser, menggunakan Python, bukan JavaScript untuk mengembangkan skrip web.
Kode proyek ditulis dengan Python dan didistribusikan di bawah lisensi BSD. Rilis baru ini kompatibel dengan Python 3.9, ditambah pustaka standar telah diperbarui.
Untuk menentukan logika situs sisi klien menggunakan Python, bukan JS, pengembang web perlu menyertakan dua pustaka, brython.js dan brython_stdlib.js. Untuk menghubungkan kode Python pada halaman, digunakan tag script dengan tipe teks mime / python .
Dari sisi Brython, diizinkan untuk menyematkan kode ke halaman dan memuat skrip eksternal. Contoh:
<script type="text/python" src="test.py">
Akses penuh ke elemen dan acara DOM disediakan dari skrip. Selain mengakses pustaka standar Python, ada pustaka khusus untuk bekerja dengan pustaka DOM dan JavaScript seperti jQuery, D3, Highcharts, dan Raphael.
Penggunaan kerangka kerja CSS didukung oleh pustaka JavaScript seperti jQuery, D3, Highcharts, dan Raphael.
Blok Python dieksekusi dari blok skrip melalui pra-kompilasi kode, yang dijalankan oleh mesin Brython setelah halaman dimuat. Kompilasi dimulai dengan memanggil fungsi brython () , misalnya dengan menambahkan
body onload="brython()".
Berdasarkan kode Python, representasi JS terbentuk, kemudian dijalankan oleh mesin JavaScript standar browser.
Dalam hal kinerja, sebagian besar operasi dalam skrip Python yang disematkan mendekati kinerja Cpython. Satu-satunya waktu terjadi penundaan adalah selama fase kompilasi. Namun, penundaan dapat dihilangkan dengan kode JavaScript yang telah dikompilasi, yang digunakan untuk mempercepat pemuatan pustaka standar.
<script type="text/python">
import time
import math
from browser import document
import browser.timer
content = document["content"]
...
canvas = content.select_one(".clock")
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")
browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = "canvas is not supported"
</script>
Lebih lanjut tentang menjalankan Brython
Agar "Python untuk Browser" dapat menerjemahkan dan mengeksekusi kode Python seperti kode JS, Anda perlu memanggil Brython saat badan dokumen dimuat.
<body onload="brython()">
Dalam hal ini, tag mencari tag skrip dengan tipe teks / python dan menjalankan kodenya. Untuk menggunakan API untuk bekerja dengan web, pengembang Brython menerapkan solusi sederhana - mengimpor API, mirip dengan mengimpor modul lain dengan Python:
from browser import document, html, window
Brython menangani semuanya sendiri, jadi Anda tidak perlu menjalankan perintah tambahan.
Poin penting - untuk bekerja dengan Brython, Anda memerlukan pengalaman dengan JavaScript, setidaknya pada tingkat dasar. Akan sangat sulit untuk mengetahuinya tanpa ini.
