Brython การใช้งาน Python 3 สำหรับการเขียนโปรแกรมเว็บฝั่งไคลเอ็นต์

เมื่อเร็ว ๆ นี้ ประกาศเปิดตัวเวอร์ชันใหม่ของโปรเจ็กต์ Brython 3.10 แล้ว (Browser Python) ที่มาพร้อมกับ การนำภาษาการเขียนโปรแกรม Python 3 ไปใช้งานบนเว็บเบราว์เซอร์ ให้คุณใช้ Python แทน JavaScript เพื่อพัฒนาสคริปต์สำหรับเว็บ

ด้วยการเชื่อมต่อไลบรารี brython.js และ brython_stdlib.js นักพัฒนาเว็บสามารถใช้ Python เพื่อกำหนดตรรกะของไซต์ฝั่งไคลเอ็นต์ โดยใช้ Python แทน JavaScript

หากต้องการรวมโค้ด Python ในหน้า คุณต้องใช้ tag ด้วยประเภท mime "text / python" ทำให้สามารถฝังโค้ดในหน้าเว็บและโหลดสคริปต์ภายนอกได้ ( ). El script proporciona acceso completo a los elementos y eventos DOM.

นอกจากการเข้าถึงไลบรารี Python มาตรฐานแล้ว ยังมีไลบรารีเฉพาะอีกด้วย เพื่อโต้ตอบกับไลบรารี DOM และ JavaScript เช่น jQuery, D3, Highcharts และ Raphael รองรับการใช้เฟรมเวิร์ก CSS Bootstrap3, LESS และ SASS

ความสามารถในการเรียกใช้ Python ในเว็บเบราว์เซอร์ช่วยให้:

  • เรียกใช้โค้ด Python เดียวกันบนเซิร์ฟเวอร์และเบราว์เซอร์
  • ทำงานกับ API ของเบราว์เซอร์ต่างๆ โดยใช้ Python
  • จัดการ Document Object Model (DOM) ด้วย Python
  • ใช้ Python เพื่อโต้ตอบกับไลบรารี JavaScript ที่มีอยู่ เช่น Vue.js และ jQuery
  • สอนภาษา Python ให้กับนักเรียน Python ด้วย Brython Editor
  • รักษาความรู้สึกสนุกสนานขณะเขียนโปรแกรมใน Python

ผลข้างเคียงของการใช้ Python ในเบราว์เซอร์คือประสิทธิภาพที่ลดลงเมื่อเทียบกับโค้ดเดียวกันใน JavaScript

รันโค้ด Python จาก Blocks se realiza mediante la compilación previa de este código โดยเครื่องยนต์ Brython หลังจากโหลดหน้าแล้ว การรวบรวมเริ่มต้นด้วยการเรียกใช้ฟังก์ชัน brython () เช่น การเพิ่ม « ».

ตามรหัส Python การแสดง JavaScript ถูกสร้างขึ้น ซึ่งจะถูกดำเนินการโดยเครื่องมือ JavaScript มาตรฐานของเบราว์เซอร์ (สำหรับการเปรียบเทียบ โปรเจ็กต์ PyPy.js มีล่าม CPython ที่คอมไพล์เป็น asm.js เพื่อรันโค้ด Python ในเบราว์เซอร์ และ Skulpt นำล่ามไปใช้ใน JavaScript)

ไซต์ Brython ตั้งข้อสังเกตว่าความเร็วในการดำเนินการใช้งานนั้นเทียบได้กับ CPython. แต่ Brython ทำงานในเบราว์เซอร์และการอ้างอิงในสภาพแวดล้อมนี้คือ JavaScript ที่สร้างขึ้นในเอ็นจิ้นเบราว์เซอร์ ด้วยเหตุนี้ คาดว่า Brython จะช้ากว่า JavaScript ที่ปรับแต่งมาอย่างดีและเขียนด้วยลายมือ

brithon คอมไพล์โค้ด Python เป็น JavaScript แล้วรันโค้ดที่สร้าง. ขั้นตอนเหล่านี้มีผลกระทบต่อประสิทธิภาพโดยรวม และ Brython อาจไม่ตรงตามข้อกำหนดด้านประสิทธิภาพของคุณเสมอไป ในบางกรณี คุณอาจต้องมอบหมายการเรียกใช้โค้ดให้กับ JavaScript หรือแม้แต่ WebAssembly คุณจะเห็นวิธีสร้าง WebAssembly และวิธีใช้โค้ดผลลัพธ์ใน Python ในส่วน WebAssembly

อย่างไรก็ตาม อย่าให้ประสิทธิภาพที่รับรู้มาหยุดคุณจากการใช้ Brython ตัวอย่างเช่น การนำเข้าโมดูล Python อาจส่งผลให้มีการดาวน์โหลดโมดูลที่เกี่ยวข้องจากเซิร์ฟเวอร์

เกี่ยวกับ เวอร์ชันใหม่ มีความโดดเด่นในเรื่องความเข้ากันได้กับ Python 3.10รวมถึงการสนับสนุนผู้ปฏิบัติงานสำหรับการจับคู่รูปแบบ (การจับคู่ / กรณี)

เวอร์ชันใหม่ยัง oจัดเตรียมการใช้งานเริ่มต้นของโครงสร้างไวยากรณ์ที่เป็นนามธรรม (AST, Abstract Syntax Tree) สำหรับภาษา Python ซึ่งสามารถใช้สร้างโค้ด JavaScript จาก AST สากลได้

เพื่อใช้งาน Brython สามารถทำได้โดยการเพิ่มรหัสต่อไปนี้บนเว็บไซต์:

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython_stdlib.js">
</script> 

O

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython_stdlib.js">
</script>

หรือสามารถติดตั้งบนฝั่งเซิร์ฟเวอร์ได้โดยใช้คำสั่งต่อไปนี้:

pip install brython

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้. รหัสโครงการเขียนด้วยภาษา Python และเผยแพร่ภายใต้ใบอนุญาต BSD


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา