สร้าง Web Application ด้วย Python

Chapter 1: Intro to Web Application

  • อะไรคือ Web Application มีคอนเซปอะไรบ้างที่ควรรู้ คำศัพท์ทางเทคนิคต่างๆ และเทคโนโลยี หรือ Tech Stack สมัยใหม่ที่นิยมในปัจจุบัน รวมถึงตัวอย่างของ Web Application
  • Web App คืออะไร องค์ประกอบของเว็บแอพความรู้เบื้องต้นของ Frontend, Backend, และ API คอนเซปต์ของ Request-ResponseGET/POST/PUT/DELETE/PATCH เทคโนโลยีที่ใช้ในปัจจุบัน (Tech Stack)

Chapter 2: Python Recap (Backend)

  • ปรับพื้นฐานภาษา Python ใหม่อย่างรวบรัด
  • Data Types
  • Conditioning (if-else)
  • Iteration (for loop)
  • Functions
  • External Library และการเรียกใช้งาน

Chapter 3: Intro to HTML (Front-end)

  • https://html-online.com/editor/
  • ผู้เรียนจะเรียนถึงองค์ประกอบของหน้าเว็บโดยคร่าว เพื่อปูพื้นฐานไปในบทถัดไป
  • Tag
  • Head
  • Body
  • Basic elements
  • Styling with CSS

Chapter 4: Building Your First Web App

  • Description: ผู้เรียนจะสร้างระบบลงคะแนน(โหวต) ด้วย Flask API
  • ออกแบบหน้าเว็บ
  • ออกแบบ API
  • ลงมือเขียนโค้ด
  • รันเว็บบนเครื่อง

Chapter 3.5: Intro to Flask and Jinja Templating

  • Description: ผู้เรียนจะเริ่มต้นรู้จัก Flask และเรียนการเขียน Templating ด้วย Jinja
  • Flask Hello app
  • GET/POST methods
  • Query, path params
  • Form data
  • Jinja template - Basic

  • พัฒนาระบบลงคะแนนให้สามารถเก็บบันทึกข้อมูลได้โดยใช้ฐานข้อมูล
  • Slide: ฐานข้อมูลคืออะไร และใช้อย่างไรNOSQL และ SQL ต่างกันอย่างไร
  • https://sqliteonline.com/
  • เชื่อมต่อระบบเก่าเข้ากับฐานข้อมูล SQLiteORM

Chapter 6: Workshop "Todo App"

  • Todo AppUI explained, walk through about VueJS syntaxAPI Flask

Chapter 1.5: Hacking the Web !

  • ดูตัวอย่างการสื่อสารระหว่าง Client-Server ผ่านเว็บจริงๆ โดยการใช้เครื่องมือ “Inspect Element” ใน Google Chrome ในเว็บไซต์ต่างๆ เช่น Google, Youtube

“Python คืออะไร” ในบ้างคนอาจจะยังไม่รู้จัก Python ที่เป็นหนึ่งในภาษาในการเขียนโปรแกรมหนึ่งภาษา ที่ในปัจจุบันได้รับความนิยมให้เป็นภาษาที่มือใหม่เลือกเป็นให้เป็นภาษาแรก เพราะโครงสร้างในการเขียนโปรแกรมที่ง่าย และ เข้าใจง่าย

โดยปกติ แล้วในการเขียน Website จะมีให้เลือก 2 ภาษาหลักๆ

1. PHP เป็นภาษาที่นิยมในการนำมาเขียน Website เพราะว่าลักษณะภาษาของ PHP มีความเข้าใจที่ง่าย แล้ว มีความรวดเร็วทั้งการสร้าง และ การทำงาน จะนิยมใช้ในการสร้าง Webpage 

2. HTML เป็นภาษาที่ได้รับความนิยมเหมือนกัน โดยจะมีลักษณะในการใช้งานจะให้งานร่วมกับภาษาอื่นๆเพื่อให้เป็นการเขียน Website ที่สมบูรณ์ได้ จะประกอบไปด้วย CSS, Javascript, MySql หรือ ใช้ร่วมกัน PHP ก็ได้

เมื่อพอจะรู้ว่าในการสร้าง Website ใช้ภาษาอะไรในการเขียน Website หลักๆแล้วมาดูอีกหนึ่งภาษาทางเลือกในการนำมาสร้าง Website

Python เป็นภาษาที่แนะนำมาเป็นภาษาทางเลือก บ้างคนอาจจะมีข้อสงสัยว่า “Python นำมสร้าง Website ได้แน่นะ” ถ้าไม่มี Framework ที่ดีก็ไม่สามารถทำได้แน่ๆ ก่อนจะไปต่อ ต้องมาคุยกันเรื่อง Framework กันก่อนว่ามันคืออะไรในการนำภาษา Python มาสร้าง Website และ สำคัญไหม

ถามว่า “สำคัญไหม” สำคัญแน่ๆครับเพราะ เพียงภาษาของ Python อย่างเดียวไม่สามารถทำได้ ต้องใช้ Framework คือ เครื่องมือที่พัฒนาโดยภาษา Python เพื่อนำไปใช้ในกรณีต่างๆ ที่เพิ่มขีดความสามารถของภาษาได้ 

Framework ที่จะพูดถึงก็จะมีชื่อว่า Django ที่พัฒนามาเพื่อใช้เป็นเครื่องมือช่วยให้ Python สามารถสร้าง Website ง่ายขึ้นเป็น Framework ที่แนะนำต่อการลองใช้ดู “ทำไม” Python ที่สร้าง Website ต้องใช้ Django ด้วย มาไขข้อสงสัยกัน

1. จะมีระบบ Admin สำเร็จรูปมาให้ใช้ได้เลย 1 ระบบ พอมันเป็นสำเร็จรูปข้อเสียมันจะอยู่ที่ไม่สามารถกำหนดได้ตามใจมากนัก

2. มีการจัดการในระบบฐานข้อมูลมาให้ในระดับหนึ่งแล้ว หรือ Database ของ Website มีความสะดวกในการจัดการได้เร็ว และง่ายขึ้น

3. มีเครื่องมือพื้นฐานในการสร้าง Website มีให้ใช้ครบถ้วน

4. มี Library ในการทำระบบ API ก็มีให้ได้ใช้ด้วย

5. Framework Django จะมี Package หรือ Plugins จากผู้พัฒนาให้ได้ใช้มากมาย เพราะว่า Framework ค่อนข้างจะมีชื่อเสียงที่ดังอยู่แล้ว

6. ด้วยที่ว่า Framework Django มีเครื่องมือให้ครบ และ ง่ายต่อการจัดการเลยทำให้ทำเสร็จไว แต่ก็ต้องใช้ความสามารถในการพลิกแพลงด้วย

“เหมาะสำหรับมือใหม่ไหม” เอาเป็นต้องขอมีพื้นฐานจากการเขียนโปรแกรมภาษา Python และ พื้นฐานการเขียน Website มาบ้างใน 2 มาด้วยดีกว่า จะได้มีความเร็วในการเรียนรู้

สรุป

Python เหมาะกับการนำมาสร้าง Website ไหม ตอบว่า แนะนำกับคนที่มีพื้นฐานการเขียนโปรแกรมด้วย Python และ ภาษาในการสร้าง Website ในระดับหนึ่งด้วยแต่ว่าให้เป็นภาษาทางเลือกก่อนดีกว่า แต่อยากให้ลองฝึกทำดูเพราะว่ามันคือการข้ามขีดจำกัดของภาษา Python จะช่วยให้เข้าใจอะไรใหม่ๆ ถ้าใครสนใจสามารถทำให้เพิ่มความสามารถให้กับตัวเองได้มากขึ้น

โดย พัสดี แก้วอินทร์

Source:

https://medium.com/@mitjy/%E0%B8%84%E0%B8%B8%E0%B8%93%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81-django-%E0%B8%AB%E0%B8%A3%E0%B8%B7%E0%B8%AD%E0%B9%80%E0%B8%9B%E0%B8%A5%E0%B9%88%E0%B8%B2-%E0%B8%94%E0%B8%B5%E0%B8%88%E0%B8%B1%E0%B8%87%E0%B8%87%E0%B9%88%E0%B8%AD%E0%B8%A7%E0%B8%A7-72fcb4d11aa3

https://codeburst.io/%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%9E%E0%B8%B1%E0%B8%92%E0%B8%99%E0%B8%B2-web-application-%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2-python-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-django-framework-38ce132ac706