Kotchasan PHP Framework

อยากเขียนเว็บไซต์ต้องรู้อะไรบ้าง

มีคำถามในเพจว่าอยากเขียนเว็บควรศึกษาอะไรดี

ก่อนอื่น ทำความเข้าใจก่อนว่าเว็บไซต์ประกอบด้วยอะไรบ้าง
  1. HTML อันนี้จำเป็นสุดๆ เพราะมันเป็นภาษาหลักๆที่ Browser ที่เราใช้เปิดเว็บไซต์เข้าใจ ถ้าเราไม่สามารถเขียน HTML ได้ เราจะไม่สามารถสร้างเว็บไซต์ได้
  2. CSS ใช้ในการตกแต่ง HTML เพื่อให้แสดงผลได้สวยงาม ถ้าเป็นเว็บไซต์สมัยใหม่ อันนี้จำเป็นต้องรู้ ถ้าไม่รู้ เว็บไซต์อาจจะไม่สวยได้
  3. Javascript เป็นภาษาสคริปต์ภาษาหนึ่ง ปกติจะใช้เพื่อให้เว็บไซต์ดูมีชีวิตชีวาขึ้น (HTML เปล่า ๆ มันตอบสนองผู้ใช้ไ่ด้ไม่ดีนัก) จริงๆในเบื้องต้น อาจยังไม่ต้องศึกษามันมากนักก็ได้ อาจศึกษาเพียงแค่หยิบมาใช้ได้เท่านั้น

    ทั้ง 3 รายการด้านบน เป็นองค์ประกอบพื้นฐานของเว็บไซต์ ถ้าเช้าใจ 3 เรื่องนี้ก็สามารถสร้างเว็บไซต์ได้สำเร็จแล้ว แต่ถ้าต้องการสร้าง Web Application สามอย่างข้างต้นอาจไม่เพียงพอ จำเป็นต้องมีภาษาสคริปต์สำหรับทำงานในฝั่ง Server ด้วย (3 ภาษาข้างต้นทำงานบนบราวเซอร์หรือในเครื่องของเราเท่านั้น)
     
  4. PHP, ASP, JAVA, RUBY ...... และอีกมากมายหลายภาษา ซึ่งเป็นภาษาที่ทำงานฝั่ง Server ให้เราได้เลือกใช้ ซึ่งในข้อนี้ก็ต้องตัดสินใจกันเอาเองแล้วละครับว่าอยากจะเขียนเว็บไซต์โดยภาษาอะไร และโดยทั่ว ๆ ไปในการเขียนโปรแกรมบนเว็บไซต์เราจะพูดกันถึงภาษานี้เป็นหลักว่าเว็บไซต์นี้สร้างจากภาษาอะไร เช่น เว็บไซต์นี้สร้างขึ้นจากภาษา PHP
     

ถึงตอนนี้ คงรู้แล้วว่าต้องศึกษาอะไรบ้าง แต่มันมีคำถามยอดฮิตอันนึง ที่ถามกันบ่อยๆ คือ "เราควรจะเริ่มศึกษาจาก Framework เลยดีมั้ย"


ทำความเข้าใจก่อนว่า Framework คืออะไร

Framework แปลกันตรงๆ คือ "กรอบการทำงาน" จุดประสงค์ของมันใช้เพื่อจัดระเบียบการเขียนโค้ดแบบมีแบบแผน เพื่อ
  1. ให้คนอื่นที่เห็นโค้ดเราเข้าใจง่ายๆ
  2. เพื่อส่งต่อให้คนอื่นทำงานต่อได้ง่าย
  3. เพื่อทำงานร่วมกับคนอื่น ๆ ได้ง่าย
  4. เพื่อให้งานเสร็จเร็ว ๆ เขียนโค้ดน้อยๆ (หรือไม่ต้องเขียนโค้ดเลยก็ได้)

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

ลองมาดูปัญหาที่อาจเกิดขึ้นจากการใช้ Framework

  1. Framework มีหลากหลายยี่ห้อ ซึ่งแต่ละยี่ห้อจะมีรายละเอียดและวิธีเขียนแตกต่างกัน การศึกษาเริ่มต้นจากอันนึง เปลี่ยน Framework ใหม่ก็ต้องเรียนรู้ใหม่ ไม่มีใครสามารถใช้ Framework หนึ่ง แล้วสามารถเปลี่ยนไปใช้ Framework อื่นโดยไม่ต้องเรียนรู้เพิ่มเติม
  2. Framework มันตายได้นะ หลายๆยี่ห้อได้รับความนิยมลดลง บางยี่ห้อไม่ได้รับการปรับปรุงมานานแล้ว
  3. โลกนี้ไม่ได้มีแต่ Framework ยังมีคนที่เขียนโดยไม่ใช้ Framework อีกมาก คนที่คุ้นเคยแต่การใช้ Framework พอเจอโค้ดที่เขียนแบบธรรมดาทั่วไปจะไปไม่เป็นก็เยอะ ในทางกลับกัน คนที่คุ้นเคยกับวิธีเขียนแบบพื้นฐาน จะสามารถมองโค้ดที่เขียนโดยคนอื่นได้ง่ายกว่า เพราะเขาจะไม่ยึดติดกับรูปแบบในการเขียน
  4. Framework มันทำงานได้ช้านะ ยังไงซะมันก็ทำงานได้ช้ากว่าเขียนโดยไม่ได้ Framework แน่ๆ

ผมไม่ได้บอกว่า Framework ไม่ดี หรือไม่ควรศึกษานะครับ แต่มันควรถูกศึกษาหลังจากพื้นฐานเราดีพอแล้ว เพราะมันจะช่วยให้เราทำงานได้หลากหลายกว่า และการต่อยอดไปย้ง Framework อื่นๆยังทำได้ง่ายด้วย และนอกจากนี้ พื้นฐานยังทำให้เราสามารถปรับปรุง แก้ไข ให้ Framework ที่เราใช้งานอยู่สามารถทำได้ในแบบที่เราต้องการได้อีกด้วย