การเลือกกรอบงานที่ดีกว่า

โลกของเว็บเฟรมเวิร์ก Python มีตัวเลือกมากมาย เฟรมเวิร์กที่โดดเด่นบางส่วนที่ต้องพิจารณา ได้แก่ Django, Flask, Bottle, Diesel, Web2py, Pyramid, Falcon, Pecan และอื่น ๆ ที่แข่งขันกันเพื่อชิงส่วนแบ่งความคิดของนักพัฒนา เฟรมเวิร์กเช่น Pyramid, Django, Web2py และ Flask เหมาะอย่างยิ่งกับรายการข้อดีข้อเสีย การเลือกเพียงโครงการเดียวสำหรับโครงการของคุณเป็นทางเลือกที่ยาก

Dash ได้รับการออกแบบมาสำหรับชุดความต้องการที่แตกต่างกัน ดังนั้นในฐานะนักพัฒนาคุณจึงต้องการลดตัวเลือกมากมายให้เหลือเพียงตัวเลือกที่จะช่วยให้คุณทำโปรเจ็กต์เสร็จตรงเวลาและสมบูรณ์แบบ

หากเราเปรียบเทียบเฟรมเวิร์ก Flask, Pyramid และ Django Flask เป็นเฟรมเวิร์กขนาดเล็กที่มุ่งเป้าไปที่แอพพลิเคชั่นขนาดเล็กที่มีความต้องการที่ง่ายกว่าในขณะที่ Pyramid และ Django ต่างก็มุ่งเป้าไปที่แอพพลิเคชั่นขนาดใหญ่ พีระมิดสร้างขึ้นโดยคำนึงถึงความยืดหยุ่นและอิสระดังนั้นนักพัฒนาจึงมีเครื่องมือที่เหมาะสมสำหรับโครงการ ในกรณีของพีระมิดผู้พัฒนาสามารถเลือกฐานข้อมูลโครงสร้าง URL รูปแบบเทมเพลตและอื่น ๆ ได้ฟรี อย่างไรก็ตาม Django มีแบตเตอรี่ทั้งหมดที่เว็บแอปพลิเคชันต้องการดังนั้นเราต้องติดตั้ง Django และเริ่มทำงาน

Django มาพร้อมกับ ORM ในขณะที่ Pyramid และ Flask ปล่อยให้นักพัฒนาเลือกว่าต้องการจัดเก็บข้อมูลอย่างไร (หรือถ้า) โดยทั่วไป ORM ที่พบบ่อยที่สุดสำหรับเว็บแอปพลิเคชันที่ไม่ใช่ Django คือ SQLAlchemy อย่างไรก็ตามตัวเลือกอื่น ๆ อาจเป็น DjangoDB, MongoDB, LevelDB และ SQLite

ในการเป็นนักพัฒนาหากฉันต้องเลือกระหว่าง Django และ Web2py สำหรับโครงการของฉัน ฉันต้องมีความคิดเกี่ยวกับประโยชน์และข้อ จำกัด ของทั้งสองกรอบ ดังนั้นให้เราเปรียบเทียบ Django และ Web2py -

Django

ชุมชน Django เป็นข้อดีอย่างมาก สิ่งนี้หมายถึงนักพัฒนาคือความมั่งคั่งของทรัพยากรจะมากขึ้น โดยเฉพาะสิ่งนี้มาถึง -

  • Documentation
  • แหล่งข้อมูลโอเพ่นซอร์ส
  • รองรับแอพของบุคคลที่สาม
  • การสนับสนุนการปรับใช้
  • ช่อง IRC กับนักพัฒนาที่เป็นประโยชน์

Django มีชุมชนทีมพัฒนาและเอกสารประกอบที่ใหญ่มาก เป็นกรอบงานที่เหมาะสมเมื่อเรากำลังจัดการกับการเขียนแบ็กเอนด์ที่ซับซ้อนเนื่องจากมีแอปของบุคคลที่สามจำนวนมากที่ให้คุณทำสิ่งต่างๆโดยอัตโนมัติเช่นตรรกะของผู้ใช้ (การสมัครใช้งานการตรวจสอบสิทธิ์) งานแบบอะซิงโครนัสการสร้าง API บล็อก ฯลฯ

Web2py

Web2py เหมาะอย่างยิ่งสำหรับการพัฒนาเว็บแอปทั่วไปหรือเซิร์ฟเวอร์ http อย่างรวดเร็ว ด้านล่างนี้คือประโยชน์และข้อ จำกัด บางประการของ web2py

ประโยชน์ของ Web2py

ต่อไปนี้เป็นประโยชน์บางประการของ Web2py framework -

  • Web2py เป็นเฟรมเวิร์กที่มีศักยภาพเมื่อเปรียบเทียบกับ Django และ Flask ในแง่ของความเร็วและความเรียบง่ายของการพัฒนา เนื่องจาก Web2py ใช้ภาษาเทมเพลตที่ใช้ python จึงทำให้นักพัฒนา python สามารถเริ่มเขียนโค้ดได้ทันทีหลังจากเข้าใจพื้นฐานของการเขียน template เป็นมุมมอง

  • Web2py สามารถเรียกใช้โค้ดที่คอมไพล์ไพ ธ อนเป็นการเพิ่มประสิทธิภาพเพื่อลดเวลาในการทำงานและเพื่อให้คุณสามารถแจกจ่ายโค้ดของคุณในรูปแบบที่คอมไพล์

ข้อ จำกัด ของ Web2py

ต่อไปนี้เป็นข้อ จำกัด บางประการของกรอบงาน:

  • Web2py สนับสนุนหลักปฏิบัติ แต่ไม่สนับสนุนการทดสอบหน่วย ตอนนี้หลักธรรมไม่ใช่ทางเลือกที่ดีที่สุดเนื่องจากมีขอบเขตที่ จำกัด

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

  • Web2py มีเลเยอร์นามธรรมฐานข้อมูลที่ดี (DAL) ที่ช่วยให้คุณสามารถแยกเอ็นจิ้นฐานข้อมูลหลายประเภท แต่ไม่มี ORM ที่ทรงพลัง ในกรณีที่คุณกำลังจัดการกับโมเดลที่ค่อนข้างใหญ่โค้ดของคุณจะกระจัดกระจายไปตามคำจำกัดความและแอตทริบิวต์ที่ซ้อนกันทั้งหมดซึ่งทำให้สิ่งต่างๆซับซ้อน

  • เราไม่สามารถใช้เครื่องมือพัฒนา python มาตรฐานโดยไม่มีการแก้ไขเนื่องจาก web2py มีการรองรับ IDE ที่แย่มาก

เฟรมเวิร์ก Django และ Web2py เป็นเฟรมเวิร์กสแต็กแบบเต็ม ซึ่งหมายความว่าพวกเขาให้รหัสทั้งหมดที่จำเป็นตั้งแต่ตัวสร้างแบบฟอร์มไปจนถึงการสร้างเทมเพลตเลย์เอาต์และการตรวจสอบแบบฟอร์มและปล่อยให้คุณเขียนสิ่งต่างๆตามความต้องการเฉพาะของคุณ

อย่างไรก็ตามด้วยเฟรมเวิร์กที่ไม่ใช่สแต็กเช่น Flask และ Pyramid หากคุณต้องการสร้างเว็บไซต์ที่มีคุณสมบัติครบถ้วนคุณจะต้องเพิ่มโค้ดและบิตพิเศษจำนวนมากด้วยตัวคุณเอง ต้องใช้ทักษะและเวลามาก

เส้นประ

Dash ได้รับการออกแบบมาทั้งหมดสำหรับงานเฉพาะในการสร้างกรอบการตอบสนองสำหรับแดชบอร์ด Dash by Plotly เป็นวิธีที่ยอดเยี่ยมสำหรับนักพัฒนา python ในการสร้างเว็บแอปแบบโต้ตอบโดยไม่ต้องเรียนรู้ Javascript และการพัฒนาเว็บส่วนหน้า Dash ถูกสร้างขึ้นบน Flask, Plotly.js, React และ React Js

ไม่มีการเปรียบเทียบระหว่าง Dash กับเฟรมเวิร์กอื่น ๆ (ดังกล่าวข้างต้น) เนื่องจากเป็นเฟรมเวิร์กประเภทต่างๆ ด้านล่างนี้เป็นเหตุผลบางประการที่ควรใช้ dash มากกว่ากรอบงานแดชบอร์ดแบบโต้ตอบอื่น ๆ (Jupiter Dashboards, matplotlib และอื่น ๆ ) -

  • ด้วยโค้ดเพียง 50 บรรทัดคุณสามารถเขียนแอพ Dash“ hello world” ง่ายๆได้เนื่องจาก Dash ต้องการหม้อต้มน้ำน้อยมาก

  • แอพ Dash ทั้งหมดเขียนด้วยภาษา python ซึ่งเป็นภาษาที่ต้องการมากที่สุดในโลก

  • ในโค้ด python ของคุณเองคุณสามารถผูกคอมโพเนนต์แดชอินเทอร์แอกทีฟเช่นดรอปดาวน์อินพุตข้อความแถบเลื่อนและกราฟด้วย "การเรียกกลับ" ของ Dash แบบรีแอคทีฟ

  • UI ที่ซับซ้อนในแอป Dash สามารถมีอินพุตหลายอินพุตเอาต์พุตและอินพุตหลายตัวซึ่งขึ้นอยู่กับอินพุตอื่น ๆ

  • ในขณะเดียวกันผู้ใช้หลายคนสามารถทำงานบนแอพ Dash ได้

  • สำหรับการสร้างส่วนประกอบ Dash ของคุณเองด้วย React dash ใช้ React.js เพื่อแสดงผลคอมโพเนนต์และรวมระบบปลั๊กอิน

  • นักพัฒนาหรือนักเขียนสามารถเขียนแอปแดชที่ตอบสนองต่อการคลิกวางเมาส์หรือเลือกจุดบนกราฟได้เนื่องจากส่วนประกอบกราฟของ Dash เป็นแบบโต้ตอบ

สรุป

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

เฟรมเวิร์ก python ที่กล่าวถึงข้างต้นดีที่สุดในระดับเดียวกัน แต่มีประโยชน์และข้อเสียของตัวเอง (ขึ้นอยู่กับข้อกำหนดของโครงการ) ดังนั้นกรอบประเภทหนึ่งจึงไม่เหมาะสำหรับโครงการทุกประเภท