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

ก่อนจะเริ่มทำอะไร ลองกลับไปไกลๆแล้วมองภาพรวมก่อน จากจุดๆนั้นจะทำให้รู้ว่าจะต้องทำยังไงต่อไปกับมัน

จากมะกี้ พอได้ลองมองอะไรกว้างๆ ได้เข้าใจว่า #อะไรคือตัวตนของเวป การปรับมันให้เป็นไปตามที่เราต้องการก็ไม่ใช่เรื่องยากอีกต่อไป #จริงๆนะ ช่วงนี้พอมีเวลาว่างๆ ก็เลยอยากสรุป #ไอ้ตัวตน ที่ #me นั่งมอง อยู่หลายปีมาเป็นหัวข้อๆ เผื่อเป็นความเข้าใจสำหรับบางคน #สู้ๆฮะ #เขียนเวปมันไม่ยาก

#1 จาก Urls ถึง หน้า Website

จะเริ่มต้นเขียนเวปได้ สิ่งแรกที่ต้องรู้ คือ มันมาได้ไง? จากไหน? แค่พิมพ์ www.facebook.com ใส่ช่องใน Chrome #รณรงค์ให้ทุกคนใช้โครม แล้วอยู่ๆก็ #วิ้ง เฟสบุ๊คก็มาปรากฏอยู่ตรงหน้า ซึ่งแท้ที่จริงแล้ว ในคอมของเราไม่รู้จักหรอกว่า Facebook คืออะไร แต่สิ่งที่ Chrome ทำให้คือ มันจะส่ง request ไปถามคอมเครื่องอื่นๆว่า “เฮ้ๆ ใครรู้จัก Facebook บ้างฟร่ะ” พอปลายทาง #คอมของเฟสบุ๊ค รู้ว่ามีคนถามถึง มันก็จะ response กลับมา “ผมอยู่ตรงนี้ฮะ หน้าตาผมเป็นแบบนี้” ซึ่งก็จะส่งหน้าตาของเวปมา แล้วเราก็ได้เล่นตามที่เราต้องการ

กระบวนการแบบนี้ เรียกว่า “client-server architecture” ซึ่ง #คอมของเฟสบุ๊ค เราจะเรียกมันว่า server และ #คอมของตัวเราเอง เรียกว่า client #จริงๆมันซับซ้อนกว่านี้นะ

#2 HTML&CSS ไม่ได้มีไว้คำนวน

ภายใน response ที่ส่งกลับมาจาก server ส่วนใหญ่มักเป็นสิ่งที่บอกว่า #หน้าตาเวป เป็นยังไง ซึ่งจะใช้ HTML และ CSS ในการกำหนดหน้าตา/รูปแบบ/ลักษณะ ของเวป แต่อย่างไรก็ตาม ทั้ง HTML และ CSS จะมีแค่ในส่วนที่ใช้ #อธิบายหน้าตา เพียงอย่างเดียวเท่านั้น #เท่านั้น และ ยกภาระในการคำนวนให้กับส่วนอื่นๆ โดย HTML มักอธิบาย layout และให้ CSS อธิบาย สีสัน/ขนาด/ตำแหน่ง ของส่วนต่างๆ

#3 เขียน Javascript ยังไง ผู้ใช้ก็เห็นอย่างงั้น

ภาระในการคำนวนอันหนักอึ้งนี้ จะถูกแบ่งเป็น 2 ส่วน คือ ส่วนที่จะคำนวนที่ฝั่ง client #คอมของตัวเราเอง และ ฝั่ง server #คอมของเฟสบุ๊ค โดย Javascript เป็นการคำนวนที่จัดการที่ฝั่ง client ทั้งนี้เพราะ โค้ดส่วนนี้รันฝั่ง client ซึ่งภายใน #คอมของตัวเราเอง เราทุกคนจึงมีสิทธิที่จะแอบดู-ดัดแปลง-ก๊อปปี้ ได้อย่างอิสระ หรือแม้แต่ ปิดไม่ให้โค้ดรัน จึงสำคัญมากที่จะไม่ใส่ข้อมูลสำคัญใดๆ อย่าง #password #ความลับต่างๆ ลงไปใน Javascript เพราะซักวัน จะต้องมีคนไปเจอแน่นอน #หมอลักฟันธง

+ เสริม ในการเขียน Javascript มันค่อนข้างยาก จึงมีสิ่งที่เรียกว่า jQuery เข้ามาช่วยให้เขียนง่ายขึ้น #ลอง #ยังมีตัวอื่นอีกนะ

#4 คลิ๊กลิงค์เมื่อไร ก็เท่ากับ รัน PHP ไปซะแล้ว

สำหรับในส่วน server จะเป็นส่วนสำคัญ ที่ไม่ใช่แค่คำนวน แต่ต้องทำหน้าที่ตัดสินใจ เพื่อตอบสนองคลิ๊กต่างๆที่เกิดขึ้น โดยเฉพาะเพื่อจัดการกับข้อมูลที่ส่งมา จึงต้องมีส่วนของ Database เข้ามาเกี่ยวข้องด้วย

ซึ่งเนื่องจากภายใน server เราจำเป็นต้องเก็บข้อมูลสำคัญเยอะแยะ #ข้อมูลไร้สาระก็เยอะพอๆกัน ทำให้สิ่งที่จะส่งไปเป็น response จาก PHP จึงจะเป็นเฉพาะ ผลลัพย์จากการรันเท่านั้น จะไม่มีการส่งโค้ดไปแสดง จึงเป็นไปได้ยากที่จะขโมยโค้ด PHP จากเวปใครๆ เพราะเราจะไม่เห็นโค้ดภายใน server ของเวปนั้น

ภาษาที่ง่าย และ หาคู่มือ ง่ายที่สุด ก็คงไม่พ้น PHP ทั้งนี้ ภาษาอื่นๆแทบทุกภาษาก็ทำเวปได้เหมือนกัน #แปลกไปอีกแบบ

#5 Framework คือ พระเจ้า

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

แต่ยังไง การลองเขียนเองครั้งแรก โดยไม่ใช้ Framework ก็เป็นสิ่งที่สร้างประสบการณ์ในการสู้กับปัญหา108 ได้เป็นอย่างดี และ น่าประทับใจ #อยากให้ลองเหมือนกัน

+ สำหรับ PHP แนะนำให้ลองใช้ Laravel / CodeIgniter หรือ ถ้าสนใจภาษาอื่น ก็อาจจะลอง Django หรือ RubyOnRails ดูนะฮะ

Q&A
Q : แค่การจะเริ่มเวปง่ายๆซักเวป อาจจะต้องเขียนถึง 3-4 ภาษา รวมๆกัน บางคนก็จะชอบถามว่า ต้องใช้เวปนานแค่ไหนสำหรับแต่ละภาษา? หรือ ต้องอ่านให้มันเยอะแค่ไหนถึงจะเขียนเวปได้

A : แต่สำหรับ #me นะ ตอนช่วงแรกรู้แค่ว่า forloop ยังไง? ประกาศตัวแปรยังไง? แค่นั้นพอ ที่เหลือเดี๋ยวค่อย google เอา พอทำไปเรื่อยๆ เดี๋ยวก็จะเข้าใจโครงสร้างของแต่ละภาษาไปเอง พอถึงจุดๆนั้น ก็จะสบายละ จริงๆแล้ว แอบคิดเล็กๆว่า การที่ไปอ่านเยอะๆเพื่อทำความเข้าใจโครงสร้างตอนแรกๆ มันเหมือนเป็นการลงทุนที่ไม่คุ้มค่า นานๆไป เดี๋ยวก็ภาษาใหม่ก็มา ก็ต้องเปลี่ยนอีก เอาเวลาไปฝึกฝน google อย่างชาญฉลาดดีกว่าเยอะ #googleคือพ่อข้า #stackoverflowคือแม่ข้า

Tell your friend about thisShare on Facebook
Facebook
0Tweet about this on Twitter
Twitter