การเลือกกรอบงานที่ดีกว่า
โลกของเว็บเฟรมเวิร์ก 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 ที่กล่าวถึงข้างต้นดีที่สุดในระดับเดียวกัน แต่มีประโยชน์และข้อเสียของตัวเอง (ขึ้นอยู่กับข้อกำหนดของโครงการ) ดังนั้นกรอบประเภทหนึ่งจึงไม่เหมาะสำหรับโครงการทุกประเภท