ทำไมต้องใช้ Django

หลาย ๆ คนเมื่อเริ่มศึกษาภาษาไพธอนและกำลังต้องการต่อยอดและประยุกต์ใช้งาน หลังจากที่มีพื้นฐานไพธอนกันมาบ้างแล้ว และกำลังมองหาเฟรมเวิร์คดี ๆ ในงานด้าน web develoopment สักตัว ซึ่งไพธอนก็มีเว็บเฟรมเวิร์คยอดนิยมอยู่หลายตัว

Popular Python web frameworks

บทความนี้ขอนำเสนอ Django ซึ่งเป็นเฟรมเวิร์คที่สาวกไพธอนคงคุ้นเคยกันเป็นอย่างดี เพราะว่าได้รับความยอดนิยมสูงที่สุดของไพธอนในการพัฒนาเว็บ วันนี้มาดูกันครับว่า มีเหตุผลอะไรบ้างทำไมเราถึงต้องเลือก Django มันมีดีอะไรหนักหนา !! 

อวย Django สุดลิ่มทิ่มประตูแน่นอนบทความนี้ lol ล้อเล่นครับ ไปอ่านพร้อม ๆ กันเลย แล้วคุณจะหลงรัก Django

1. ความยอดนิยมสูง

Django คือเฟรมเวิร์คที่ได้รับความนิยมสูงสุดของ Python และยังเป็นหนึ่งใน back-end เฟรมเวิร์คที่ได้รับความยอดนิยมอันดับต้น ๆ ของโลก โดยสามารถดูได้จากสถิติและผลสำรวจต่าง ๆ ในแต่ละปี และในปีล่าสุดคือปี 2020 ครองอันดับ 1 back-end framework จาก stackshare.ioเว็บไซต์ชื่อดังด้านโปรแกรมมิ่งอีกเว็บ รวมไปถึงผลสำรวจต่าง ๆ ไม่ว่าจะเป็น Stackoverflow Developers Survey ทาง Django ก็อยู่ในลิสต์ลำดับแรก ๆ

ตัวอย่างดังภาพด้านล่าง ลองค้นหาบน Google ด้วยคำว่า “popular back-end frameworks” ซึ่ง Django แสดงผลในลำดับแรกที่ Google แนะนำ

2. Built-in Admin site

นี่คือหนึ่งฟีเจอร์ไม้ตายเด็ดอีกตัวของ Django เลยก็ว่าได้ คือมีหน้าแอดมินพร้อมใช้งานเสร็จสรรพ ลองจินตนาการว่า ถ้าต้องสร้างระบบ admin ขึ้นมาเอง ต้องลงแรงและใช้พลังงานไปเยอะแน่ ๆ

3. มี documentation ที่สุดยอด

อีกหนึ่งความยอดเยี่ยมและน่าประทับใจของ Django ก็คือ การมี documentation ที่ยอดเยี่ยม ละเอียดยิบ ทันสมัย อัปเดตอยู่ตลอดเวลา ทำให้นี่คืออีกหนึ่งจุดเด่นที่เป็นตัวชูโรงให้กับ Django เลยก็ว่าได้เพราะว่า การที่จะศึกษาเฟรมเวิร์คอะไรสักอย่าง docs ก็เป็นอีกหนึ่งแหล่งศึกษาที่เอาไว้ใช้ทั้งอ้างอิงและศึกษาไปพร้อม ๆ กัน ซึ่งถ้ามี docs ที่ยอดเยี่ยม ก็ยิ่งจะทำให้เราอุ่นใจได้มากยิ่งขึ้นเท่านั้น

4.  Versatile

Django สามารถทำโปรเจคท์ได้หลายแนว ไม่ว่าจะเป็นรูปแบบปกติของ Django คือ Server Side Rendered (SSR) คือทำเว็บไซต์ หรือไม่ว่าจะเป็นการทำ Single Page Application (SPA) ที่เป็นรูปแบบ modern เว็บยอดนิยมในปัจจุบันก็สามารถทำได้โดยการประยุกต์ใช้กับ front-end frameworks ยอดนิยมอื่น ๆ ไม่ว่าจะเป็น React, Angular, Vue, etc สามารถทำได้แบบไร้ปัญหาใด ๆ หรือรวมไปถึงระบบ CMS (Content Management System) Django ก็มี Wagtail ซึ่งเป็น CMS ยอดนิยมสุดของ Django ให้ต่อยอดศึกษาได้เช่นกัน

5. Built-in Authentication

ระบบ authentication systems เช่น การ log in, log out, หรือ register เป็นต้น Django มีมาให้ครบหมดแล้ว โดยเราไม่ต้องสร้างมันมาจาก 0 เราสามารถ implement ต่อได้ทันที

6.  ความปลอดภัยสูง

ช่องโหว่ทางด้านความปลอดภัยต่าง ๆ ที่เว็บโดยทั่วไปอาจจะถูกโจมตีจากผู้ไม่หวังดีได้นั้น ไม่ว่าจะเป็น XSS and CSRF attacks, SQL injections, clickjacking ,etc โดย Django มีระบบป้องกันการโจมตีด้วยวิธีการเหล่านี้รวมอยู่ในเฟรมเวิร์คให้แล้ว รวมไปถึงการมี password hash มาให้ในตัว

Django นั้นเมื่อ password ได้ถูกสร้างขึ้นมาจะถูก hash ให้ในตัวด้วยอัลกอริทึม sha256

7. MTV Design Patterns

Django เป็นเฟรมเวิร์คที่อยู่บนพื้นฐาน MTV ซึ่งอยู่ในประเภทเดียวกันกับ MVC เฟรมเวิร์คค่ายอื่น ๆ เช่น Laravel, Rails, etc ช่วยให้การพัฒนาโปรเจคท์เป็นไปอย่างมีระบบ มีโครงสร้างที่เป็นมาตรฐาน คุยกับคนอื่นรู้เรื่องแน่นอน

8. ORM ไม่ต้องเขียน Raw SQL

ปกติการเชื่อมต่อสื่อสารกับฐานข้อมูลต้องมีความรู้ความเข้าใจภาษา SQL แต่สำหรับ Django นั้นจะใช้ ORM (Object Relational Mapping) คือเขียน class/object ของไพธอนในการติดต่อฐานข้อมูลแทน ทำให้เพิ่มความรวดเร็วในการพัฒนามากยิ่งขึ้น แต่อาจจะแลกมาด้วย performance ที่ช้าลงเพราะต้องแปลงไปเป็น raw SQL อีกที แต่ก็สามารถ optimize ได้ 

ตัวอย่างด้านล่างเป็นการเปรียบเทียบระหว่างการเขียนแบบ raw SQL ปกติและการเขียนแบบไม่ต้องใช้ SQL คือใช้ Python ในการเขียนเพื่อสร้างตารางในฐานข้อมูลได้เลย

Raw SQL

CREATE TABLE "task" (
    "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, 
    "title" varchar(80) NOT NULL, 
    "description" text NOT NULL, 
    "date_created" datetime NOT NULL, 
    "completed" bool NOT NULL
)

Django ORM

class Task(models.Model):
    title = models.CharField(max_length=80)
    description = models.TextField()
    date_created = models.DateTimeField(auto_now_add=True)
    completed = models.BooleanField()

ปล. Django จะ generate ฟีลด์  id  หรือ Primary Key ให้อัตโนมัติ

9. ดีต่อ SEO

Django เป็นเฟรมเวิร์คแนว SSR (Server Side Rendered) ซึ่งทำให้การทำ SEO(Search Engine Optimization) คือ Django นี่เอื้อต่อการรองรับการทำเว็บที่ดี SEO หมายถึงการทำให้เว็บของเรามาติดอันดับหน้าแรก ๆ ของ Google ซึ่งโดยปกติแล้วมักจะหมายถึงหน้าแรกเลย

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

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

10.  มีแหล่งเรียนรู้เยอะ

แน่นอนว่า Django เป็นหนึ่งในเฟรมเวิร์คที่มีชื่อเสียงและได้รับความนิยมมากที่สุดเฟรมเวิร์คหนึ่งของไพธอน ดังนั้นจึงมีคนมาก ๆ ทั่วโลกที่ได้ศึกษามาก่อนหน้าเรา และกำลังเรียนรู้ไปพร้อม ๆ กันกับเรา ไม่ต้องสงสัยเลยว่ามีบทความ Tutorials เกี่ยวกับ Django มากมายบนแพลตฟอร์มต่าง ๆ หรือคลิปสอนใน YouTube เป็นต้น

ดังตัวอย่างภาพด้านล่าง ขนาด  CS50 สำนักคอมพิวเตอร์ชื่อก้องโลกแห่งมหาวิทยาลัยฮาวาร์ด ยังใช้สอนนักศึกษา !!

Brian Yu ศิษย์เอกของ Prof. David J. Malan กำลังสอน Django

credit youtube channel: CS50 

11.  ต่อยอดทำ API ด้วย Django REST Framework

สามารถนำ Django ไปต่อยอดพัฒนาเป็น web APIs, web services ต่าง ๆ ได้อย่างสบาย ๆ ด้วย toolkit สุดฮิตของ Django อย่าง Django REST Framework (DRF) ซึ่งเมื่อเราสามารถทำ website ได้แล้วนั้น การทำ web APIs ก็เป็นอีกหนึ่งสกิลที่ควรต้องศึกษาหากต้องการต่อยอดในระดับสูงขึ้น

บทความแนะนำ: Django REST Framework – สร้าง API ด้วยไพธอนฉบับเต็ม

12. ประยุกต์ใช้งานร่วมกับ Data Science, AI & Machine Learning

เพราะว่า Django เป็นเฟรมเวิร์คที่ถูกเขียนขึ้นมาโดยภาษาไพธอน และแน่นอนว่าไพธอนแทบจะเรียกได้ว่าเป็นภาษายอดนิยมอันดับ 1 ทางด้าน Machine Learning ดังนั้นตัวไลบรารี่ด้าน Machine Learning เช่น TensorFlowKerasPyTorch เราสามารถที่จะสร้างโมเดลขึ้นมาแล้วนำมาประยุกต์ใช้กับเว็บของเราได้ ข้อนี้คืออีกหนึ่งข้อได้เปรียบของ Python web frameworks เลยก็ว่าได้

Django Disadvantages

แน่นอนว่า Django ก็ใช่ว่าจะมีแต่ข้อดีทั้งหมด คราวนี้มาพูดถึงจุดด้อยบางอย่างของ Django กันครับ

  • ไม่เหมาะกับ Microservices เพราะ Django ค่อนข้าง monolithic
  • เครื่องมือเยอะเกินไป บางสิ่งบางอย่างก็ไม่ได้ใช้ ทำให้สิ้นเปลืองทรัพยากร และต้อง deploy ไปด้วยกันทั้งหมด
  • Performance อาจจะช้าเมื่อเทียบกับเฟรมเวิร์คของภาษาอื่น ๆ เช่น Java, Go JavaScript(Node.js), etc

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn
On Key

Related Posts

Knowledge Management

การจัดการความรู้ (Knowledge Management: KM) หมายถึง การรวบรวมองค์ความรู้ที่มีอยู่ในองค์กร ซึ่งกระจัดกระจายอยู่ในตัวบุคคล หรือเอกสาร มาพัฒนาให้เป็นระบบ เพื่อให้ทุกคนในองค์กร สามารถเข้าถึงความรู้ และพัฒนาตนเองให้เป็นผู้รู้ รวมทั้งปฏิบัติงานได้อย่างมีประสิทธิภาพ อันจะส่งผลให้องค์กรมีความสามารถเชิงแข่งขันสูงสุด การจัดการความรู้ คือเครื่องมือเพื่อการบรรลุเป้าหมายอย่างน้อย 4 ประการไปพร้อม ๆ กัน ได้แก่ (1) การบรรลุเป้าหมายของงาน (2) การบรรลุเป้าหมายด้านการพัฒนาคน

ทำไมต้องใช้ Django

หลาย ๆ คนเมื่อเริ่มศึกษาภาษาไพธอนและกำลังต้องการต่อยอดและประยุกต์ใช้งาน หลังจากที่มีพื้นฐานไพธอนกันมาบ้างแล้ว และกำลังมองหาเฟรมเวิร์คดี ๆ ในงานด้าน web develoopment สักตัว ซึ่งไพธอนก็มีเว็บเฟรมเวิร์คยอดนิยมอยู่หลายตัว Popular Python web frameworks Django Flask FastAPI บทความนี้ขอนำเสนอ Django ซึ่งเป็นเฟรมเวิร์คที่สาวกไพธอนคงคุ้นเคยกันเป็นอย่างดี เพราะว่าได้รับความยอดนิยมสูงที่สุดของไพธอนในการพัฒนาเว็บ วันนี้มาดูกันครับว่า มีเหตุผลอะไรบ้างทำไมเราถึงต้องเลือก Django มันมีดีอะไรหนักหนา !! 

Tansamai x The smart – Business Network International.

ทันสมัยเข้าร่วมเป็นสมาชิกกลุ่มเดอะสมาร์ท เครือข่ายสมาคมธุรกิจระดับประเทศ (Business Network International) โดยมุ่งนำผลิตภัณฑ์ซอฟต์แวร์เสริมศักยภาพให้กลุ่มธุรกิจระดับประเทศ

Tansamai – E Learning free for developer

ทันสมัยเปิดตัวระบบ E-learning เพื่อให้นักพัฒนาได้เข้ามาเรียนรู้การเขียนโปรแกรมตั้งแต่ระดับเริ่มต้นจนถึงระดับสูงสุด โดยระบบ E-learning ได้เปิดให้นักพัฒนาได้เรียนรู้ฟรีตลอดชีพ ผ่านแพลตฟอร์ม learn.tansamai.tech

Tansamai x After miracle – Virtual Events Smart SME Expo

เมื่อวันที่ 5 ธันวาคม 2021 ได้มีการเปิดตัวระบบ Virtual Event สำหรับผู้ประกอบการขนาดกลางและขนาดย่อม ซึ่งพัฒนาโดยทีมทันสมัย จุดประสงค์เพื่อส่งเสริมให้ผู้ประกอบการสามารถค้าขายผ่านทางออนไลน์ได้ ทางเข้ากิจกรรม Virtual Event – http://virtual.smartsme.co.th