วันจันทร์ที่ 18 สิงหาคม พ.ศ. 2551

เครื่องมือในการพัฒนา Web Application

โอเคครับ

ถึงเวลาอันเหมาะสมที่จะเขียนบทความลง Blog นี้เสียที เนื่องมาจากหลายๆ เสียง หลายๆ คำถามของน้องๆเกี่ยวกับเจ้าเครื่องไม้เครื่องมือในการพัฒนา Web Application

ตัวอย่าง

...
"ตกลงใช้ภาษาอะไรเขียนดีครับ ASP หรือ PHP ดี"
"เอ๊ะ แล้ว VB มันต่างยังไงกับ ASP หรือ PHP"
"ถ้าผมจะใช้ Visual Studio เขียน PHP เนี่ยะได้มั๊ยครับ"
...

หลังจากได้ฟังแล้ว ก็อดไม่ได้ว่า "ต้องทำอะไรสักอย่างแล้ว"

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

ที่นี้จะพูดถึงความรู้ในเชิงเทคโนโลยี

เท่าที่พี่ประสบมา งานปัญหาพิเศษเรื่องของพัฒนาโปรแกรมนั่น ส่วนใหญ่แล้ว (แต่จริงๆ พี่ก็ว่าทั้งหมดนั่นแหละ) ท่านคณะกรรมการพิจารณาโครงการ มักให้พัฒนาเป็น Web Application ...ทำไม?

เรื่องของทฤษฎีนั้น พี่ว่าน้องๆ คงได้เรียนไปหมดแล้วนะครับ พี่คงไม่เอามาเขียนซ้ำ (หรือเขียนซ้ำดี) พี่มองว่ามันเป็นเรื่องของ Trend มากกว่า

จำเป็นมั๊ยว่าต้องเป็น Web Application เป็น Windows Application ไม่ได้เหรอ ?

นั่นสิครับ จำเป็นด้วยเหรอว่าต้องเป็น Web Applcation พี่ก็ตอบแทนไม่ได้ เพราะมันขึ้นกับงาน ขึ้นกับระบบที่จะพัฒนา

อย่างไรก็ตาม อย่างที่บอกไปนะครับ สาขาเราก็ตาม Trend จากเท่าที่ทราบ ปัญหาพิเศษปีพี่ที่เขียนโปรแกรมและเป็น Window Application นั้นมีกลุ่มเดียว จาก 10 กลุ่ม

ต่อกันด้วยเรื่อง Web Application

เมื่อจะต้องเขียน...เข้าใจมันรึยังครับ?

ตอนนี้พี่ว่าน้องๆ คงรู้แล้วว่าตัวเองจะเขียนอะไร เขียน Web Application ให้ทำอะไร

แต่ ...มันติดปัญหาตรงที่ว่า จะเขียนมันอย่างไร ด้วยอะไร

เอาล่ะสิ

"ชั้นรู้จัก VB C# ASP ASP.net PHP"

แล้วมันคืออะไร เอาไปใช้ยังไง?

อธิบายกันสักนิด

เมื่อก่อนเว็บไซต์แสดงผลได้ตามที่ผู้เขียนเว็บอยากให้เป็น อยากให้เนื้อหาในหน้านั้นเป็นยังไง ก็สร้างเว็บขึ้นมาแล้วยัดเนื้อหาที่ต้องการแสดงผลลงไป

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

ใช่ ตอนนี้เราเรามีเทคโนโลยี DBMS แล้ว ข้อมูลสินค้าเราถูกเก็บลง Databae ทั้งหมด ถ้าอยากจะใช้ เราก็เรียกเอาข้อมูลจากใน Database มาใช้เลยก็สบายสิเนี่ยะ ทีนี้จะแก้อะไรก็แก้ใน Database ที่เดียว หน้าเว็บก็แค่ดึงข้อมูลนั้นๆ มาแสดงเป็นข้อมูลปัจจุบันตามจริงเสมอ วิเศษไปเลย

เอ้อ แล้วจะเขียนยังไงล่ะทีนี้ให้เว็บไปดึงข้อมูลจาก Database ได้

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

ดังนั้นแล้วเว็บของจอร์จนั้นจะต้องมีการประมวลผล การติดต่อกับ Database เพื่อเรียกใช้ข้อมูล บางครั้งก็ต้องรับข้อมูลจากผู้ใช้เพื่อเอาไปค้นหาสินค้าอีก

เจ้าตัวที่คอยจัดการ รับ ประมวลผล และส่งต่อข้อมูล เราเรียกมันว่า "Web Server"

เจ้า Web Server นี่ ก็ไม่ได้ผูกขาดแต่อย่างใด หากแต่มีให้เราเลือก กันในปัจจุบันอยู่หลายตัวทีเดียว อาทิเช่นดังๆ ก็ IIS แล้วก็ Apache

IIS (Internet Informaion Service) เนี่ยะของ Micosoft เค้า เค้าพัฒนามาเพื่อรองรับกับ .NET Framwork ซึ่งเป็นมาตรฐานของการเขียนโปรแกรมบน Windows อยู่แล้วทั้ง VB.NET, C#.NET ทีนี่เมื่อมาทำเว็บ เค้าจึงให้มันอยู่บนมาตรฐานเดียวกันด้วย เค้าเรียกมาตรฐานของการโปรแกรมบนเว็บเค้าว่า ASP.NET

เมื่อจะเขียนโปรแกรมให้ได้ตาม ASP.NET แล้วเนี่ยะ เราก็เขียนตามโครงสร้างภาษาเช่นเดียวกับ Windows น่ะแหละ โดยใช้ได้สองภาษา จะ VB ก็ได้ หรือ C# ก็ได้ หรือ ผสมๆ กันก็ยังได้ แตกต่างตรงที่ Web Application กับ Windows Application มันมีโครงสร้างการทำงาน ข้อจำกัด สภาพแวดล้อมที่แตกต่างกัน ทำให้มีคำสั่งบางอย่างเพิ่มเติมมา คำสั่งบางคำสั่งก็ใช้บนเว็บไม่ได้ แต่ในส่วนของโครงสร้างภาษาก็อิงตามนั้น

เช่น เวลาเราเขียนโปรแกรมด้วย VB เราใช้คำสั่ง Dim เพื่อประกาศตัวแปรสักตัวชึ้นมาใช้งาน เช่น Dim a As Interger = 1เวลาไปอยู่บนเว็บ ถ้าเราต้องประกาศตัวแปรมาใช้งาน เราก็ใช้โครงสร้างภาษาของ VB แบบนี้มาใช้ได้เหมือนกัน (ถ้าเราเลือกใช้ VB)

ส่วนใครไม่ถนัด VB แต่คล่องภาษา C# จะเขียนด้วยโครงสร้างภาษา C# เป็น interger a = 1; ก็ย่อมได้

ส่วนเครื่องมือในการเขียนเนี่ยะ ย้ำเครื่องมือนะครับ เครืองมือ ... เครื่องมือคือ อะไรสักอย่างที่ทำให้น้องๆ มีเจ้าผลลัพธ์ที่ต้องการได้ เครื่องมือในทางคอมพิวเตอร์ พูดง่ายๆ ก็คือโปรแกรม ถ้าอยากพิมพ์งานจะเลือกใช้โปรแกรม Notepad Wordpad Microsoft Word ไหนก็แล้วแต่จริงมั๊ยครับพิมพ์งานได้ทุกโปรแกรมเลย สวยไม่สวยอีกเรื่อง

เครื่องมือ ~= โปรแกรม ()

เครืองมือในการเขียน ASP.NET เนี่ยะก็สามารถใช้เครืองมือพัฒนาโปรแกรมของ Windows ได้เลยเช่นเดียวกัน นั่นก็คือพระเอกของเรา Visual Studio หรือถ้าไม่อยากเสียตังค์ซื้อ (เพราะมันแพง) จะใช้ Notepad เขียน ก็ได้ครับ ถ้าหากไม่ขี้เกียจนั่งหาข้อผิดพลาดด้วยตัวเอง

ย้ำ!! เ้จ้า Visual Studio เป็นเครื่องมือในการเขียน ตัวหนึ่งเท่านั้น และเป็นตัวเลือกที่ดี เพราะ ... มันเหมาะกับการเขียน เนื่องจากมันมีสิ่งอำนวยความสะดวกมากมาย ทั้งการลาก-วาง มีตัว Complier ตรวจสอบว่าเราเขียนผิดตรงไหน แล้วขีดเส้นหยักบอก คอยบอกว่าเราจะเขียนคำสั่งอะไรในตัว Control ได้

จบเรื่องของ ASP.NET VB C# ไป

อีกค่ายก็คงไม่พ้น Apache Web Server ซึ่งเป็นที่นิยมทีเดียวเนื่องจากเป็นลักษณะของ Open Source ใช้ได้ฟรี ย้ำ ฟรี (ในการใช้งานนะ) ที่มาควบคู่กับภาษา PHP

PHP เป็นภาษาโปรแกรมบนที่ถูกสร้างขึ้นมาเพื่อใช้ทำงานบนเว็บเท่านั้น ส่วนใหญ่แล้ว โครงสร้างของมันอิงกับภาษา C (มีความใกล้เคียงกันมากทีเดียว)

การจะเขียนเว็บโดยใช้ PHP นั้น เราต้องเรียนรู้ภาษาของเค้าไม่มีให้เลือก เช่น ตัวอย่างเดิม ประกาศตัวแปรมาใช้ ของ PHP นั้นเขียน อย่างนี้ $a = 1;

เครื่องมือในการเขียน PHP ... จริงแล้วการเขียน PHP มักลงไปที่ตัว Coding โดยตรงเลย เห็นแต่ตัวอักษรคำสั่งๆ ๆ ๆ ไม่มี Tools อะไรเท่าไหร่ ที่นิยมก็เห็น Edit Plus นะครับ แต่ก็มีโปรแกรมอยู่เหมือนๆ กันลองหาดูเอานะครับ ไม่มีอะไรแนะนำ

เรื่องของ Web Application จบแล้ว

อ่า เหลืออะไรอีก

"Dream Weaver ไว้ทำอะไรครับ"

Dream Weaver ก็เป็นเครื่องมืออย่างนึงในการทำเว็บครับ แต่หลักๆ แล้วมันเอาไว้ในการออกแบบมากกว่าเน้นเรื่องของการพัฒนาโปรแกรม ใช้ได้มั๊ย? ถ้าเอาไปเขียน PHP ก็โอเคอยู่ครับ แต่ ASP นี่ไม่ค่อยเท่าไหร่ เพราะตัว Complier โปรแกรมเองไม่ค่อยรองรับหลายๆ คำสั่ง

พิมพ์มายาวแล้วก็ตบท้ายดื้อๆ เลย

หวังว่า คงช่วยให้น้องๆ ที่กำลังว้าวุ่นอยู่ คลายความสงสัยไปได้บ้างนะครับ เนื้อหานั้นพี่ไม่ได้พยายามใช้คำวิชาการเลย และเขียนจากความเข้าใจ+ประสบการณ์เพื่อให้น้องเห็นภาพได้ง่าย ... หากยังอยากรู้อะไร คิดว่าพี่ช่วยได้ ก็ยินดีครับ

9 ความคิดเห็น:

sayoungthara กล่าวว่า...

โอ้จอร์จ...มันยอดมาก
เริ่มเข้าใจอะไรๆ ขึ้นมาหน่อย
แต่ที่รู้ๆ ... ฉันยังต้องศึกษาอีกเยอะเลย
(-_-)

เห้ย....งานเข้าแล้วเรา

555+++

สุดท้าย ...ขอขอบคุณผู้ให้ข้อมูลค่ะ

.......................

Gift กล่าวว่า...

ขอบคุณเจ้าค่ะพี่นายหม่อนนนนนนนนนนนน

Gift กล่าวว่า...

พี่หม่อนสุดยอดเลย
เอาอีกค่ะๆๆๆๆ

ขอบคุณล่วงหน้าค่ะ^^

weena กล่าวว่า...

เด๋วพี่หม่อนงานเข้าแน่ๆๆ

555+

Wachansa กล่าวว่า...

พี่หม่อนน่ารักจังค่ะ

(รู้สึกว่าหล่อขึ้นจมเลย ฮ่าๆๆๆๆๆ)

เขียนได้เข้าใจค่ะ! ขนาดปอที่ไม่ได้ทำคอมยังอ่านแล้ว อืม... รู้สึกเข้าใจอะไรเป็นเรื่องเป็นราวมากขึ้น จากแต่ก่อนที่ใครพูดอะไรมา ก็กระจัดกระจายหมด

ถึงเพื่อนๆ ที่ทำโปรแกรมก็สู้ๆๆ นะจ๊ะ


เราเองก็เดี้ยงไปเลยหลังจากวันเสาร์ก่อนนู้นน.. ฮ่าๆ..

Aj. Jongdee กล่าวว่า...

โอ้โห วันนี้ พี่หม่อนปล่อยของ .....

เอ้า พวกเรา ... เรียนรู้กันนะจ้ะ ...

ขอบคุณจ้าหม่อน ที่นำประสบการณ์มาแบ่งปัน กัน...

ครูคนหนึ่งล่ะ ที่ไม่เขียนโปรแกรม ..555 แต่ออกแบบและประเมินได้ .... อิ อิ อิ อิ อิ อิ

เอาอีก เอาอีก ...

Tui_ER กล่าวว่า...

อย่างยาวเรยเพ่ โฮะๆ ^^

Tui_ER กล่าวว่า...

ขอบคุณค้าบบบบ

แหล่มเรย

~v~SmitH~v~ กล่าวว่า...

รู้มั้ย เธอคือสิ่งที่ฉันต้องการรรรร

อร่อยเต็มที่เป๊ปซี่เลย

ไม่ช่ายยยยย ตึ๊งโป๊ะ

ขอบคุณพี่โดเรหม่อน