เวิร์ดเพรส – โค้ดดั่งบทกวี
ความรู้พื้นฐาน: เว็บในปัจจุบันนั้น มักจะมีระบบในการจัดการ-แก้ไขข้อมูลต่างๆในเว็บ เรียกว่า Content Management System หรือ CMS ซึ่งทำให้ไม่ต้องสร้างเว็บทีละหน้า แล้วนำขึ้น Server ทีละหน้า ซึ่งยุ่งยากมาก (โดยเฉพาะถ้ามีการแก้ไข) แต่ใช้วิธีล็อกอินเข้าในเว็บ แล้วเพิ่มเติมแก้ไขข้อมูลหน้าใดๆ ก็ได้ ตามแต่ที่ admin จะให้อำนาจจัดการ
ซึ่งในโลกแห่งซอฟแวร์เสรี (Opensource) ผู้ที่เชื่อในการแบ่งปันความรู้ ก็ได้เขียนโปรแกรมและแจกจ่ายให้ใช้งานฟรีจำนวนมาก (บางส่วนที่ OpensourceCMS.com) และทำให้เกิดเหล่าสาวกของแต่ละโปรแกรม ที่มาคัดง้างกันว่า โปรแกรมใครดีกว่าใคร
(เด่นๆ ก็มี Joomla, Drupal รายละเอียดการเปรียบเทียบบางส่วน ดูที่ Blognone)
กระผมเป็นสาวก Wordpress ก็ขอกล่าวสรรเสริญ Wordpress ดังนี้,
ในขณะที่ทีมงาน Joomla กล่าวถึงความเป็นมืออาชีพ เป็นตลาดกลางแห่งธุรกิจโมดูล เป็นความน่าเชื่อถือสำหรับองค์กร, ในขณะที่ทีมงานของ Drupal กล่าวถึงความทันสมัย ความสลับซับซ้อนเชิงลึก ความ Geek สำหรับเหล่า Computer GURU,
ทีมงานของ Wordpress กลับกล่าวว่า โค้ดนั้นเป็นดั่งบทกวี และเราสร้างโปรแกรมนี้ด้วยความใส่ใจใน “สุนทรียภาพ”
ฟังแล้ว จะห้ามกระผม – ผู้หลงใหลในวาทกรรม – ไม่ให้หลงรักเวิร์ดเพรสได้อย่างไร?
ใครหลายคนกล่าวว่า Wordpress นั้นเป็นแค่ Software สำหรับการทำ Blog มากกว่าจะเรียกว่า CMS ซึ่งหมายถึงความสามารถในการแก้ไขเนื้อหาทั้งเว็บ กระนั้น จากประสบการณ์การนำ Wordpress ไปใช้ในเว็บต่างๆ ก็พบว่ามันมีความสามารถมหาศาล และมีความสามารถรองรับจำนวนคนเข้ามากๆ (เช่น เกิน 10,000 คนต่อวัน) โดยไม่รบกวนประสิทธิภาพของ Server, มีการออกแบบส่วนกลางที่ดีมาก และรองรับการเขียน Plugins เพิ่มเติมได้สารพัด, มีความงดงามตลอดกระบวนการ ทั้งในโค้ด การเชื่อมต่อกับโค้ดอื่น การแสดงผลดีไซน์ และ การแสดงออกใน URL
เปรียบเทียบกับ Drupal ที่เหล่าโปรแกรมเมอร์ชื่นชอบ, ดีไซเนอร์อย่างผมกลับชอบ Wordpress เพราะ
1. ตั้ง URL ที่มีความหมายได้ง่าย
แน่นอนว่า Drupal ก็ทำได้ (มันทำได้ทุกอย่างแหละ) แต่เรามักจะเห็นว่าเว็บที่ใช้ Drupal ส่วนมาก มักจะใช้ URL ประเภท /node/123/ ซึ่งกล่าวถึง id แบบคอมฯ แต่ Wordpress มักจะใช้ URL ที่มีความหมายแบบคน เช่น /about/our-team/ ซึ่งนอกจากทำให้ Google ชอบ (เพราะมันรู้ว่า หน้านี้ควรจะหมายความว่าอะไร) ยังทำให้ผู้รักความงามและความเรื่องมากอย่างกระผมคารวะ
หัวข้อนี้ ผมเห็นว่าเวิร์ดเพรสใส่ใจมากกว่า CMS อื่นๆ (ยิ่งทำให้ผมเชื่อในคำพูดเค้ามากขึ้นว่า โค้ดเป็นดั่งบทกวี เพราะมีแต่กวีเท่านั้นแหละ ที่มัวเสียเวลาตั้งชื่อ) เพราะมันอยู่ในกระบวนการตั้งชื่อต่างๆ ตั้งแต่เนื้อหา-ต่อเนื่องถึงระบบ Template, สามารถแก้ไข URL ได้ง่าย, รบเร้าให้เราตั้งชื่อให้ดีตั้งแต่ตอนที่ร่างบทความ
2. เข้าใจใน design อย่างปรุโปร่ง (รู้จักการจัดเนื้อหา หรือ CSS ทุกชิ้น)
เท่าที่เคยใช้มา Wordpress นั้นสามารถออกแบบ และนำมาประกอบเป็นเว็บได้ง่ายที่สุด สึ่งที่ยิ่งใหญ่และเรียบง่ายประการหนึ่งก็คือ เพราะ Default Theme (หน้าปกติเวลาติดตั้งเสร็จ) ที่ให้มา มันเข้าใจง่าย เลย์เอาท์เรียบโคตร จะแก้อะไรก็หาได้หมด ลองดูบรรทัดที่กล่าวถึงไฟล์ที่ใช้จัดหน้า (CSS) ดูก็ได้
Wordpress:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" />
Drupal:
<style type="text/css">@import "/themes/garland/style.css";</style>
<style type="text/css">@import "/files/color/garland/style.css";</style>
<style type="text/css">@import "/modules/forum/forum.css";</style>
<style type="text/css">@import "/modules/node/node.css";</style>
<style type="text/css">@import "/modules/poll/poll.css";</style>
<style type="text/css">@import "/modules/system/defaults.css";</style>
<style type="text/css">@import "/modules/system/system.css";</style>
<style type="text/css">@import "/modules/user/user.css";</style>
<style type="text/css">@import "/themes/mytheme/style.css";</style>
ซึ่งหมายความว่า แค่ต้องการอยากรู้ว่า หน้านี้ จัดหน้าอย่างไร หากใช้ Drupal ก็ต้องดู CSS อย่างต่ำ 7 ไฟล์ โอ้ววววว
โปรแกรมเมอร์ อยากจะเข้าใจโค้ดทุกบรรทัด (เลยชอบ Drupal) ดีไซเนอร์อย่างกระผม ก็อยากจะเข้าใจการจัดหน้า (CSS) ทุกชิ้นเหมือนกันโว้ยยยยยย
3. เวิร์ดเพรสมีคู่มืออันนึง ที่อธิบายกระบวนการทำงานและตัดสินใจของโปรแกรมอย่างดีเยี่ยม นั่นคือ Template Hierarchy
อธิบายคร่าวๆ ก็คือ เวลาออกแบบเว็บแต่ละหน้าหรือแต่ละชุด ให้ตั้งชื่อไฟล์ให้เหมาะสม เวิร์ดเพรสจะวิ่งไปหาไฟล์แต่ละไฟล์ตามรูปนี้ หากหาไม่เจอ มันก็จะแสดงหน้าตาแบบบ้านๆ (index.php) มาให้
ดังนั้น หากเราอยากแต่งหน้าเว็บเป็นอย่างไร เราก็ทำได้อิสระ หากอยากให้ข้อมูลแต่ละชิ้นปรากฏตรงไหน ก็ดูรายละเอียดเพิ่มใน คู่มือการโชว์ข้อมูลของเวิร์ดเพรส
4. เสน่ห์อีกอย่างของคนสร้าง คือการที่ไฟล์ชี้แจงภาพรวมของโปรแกรม (readme.html) ในช่วงท้าย
ปกตินักพัฒนาโปรแกรมทั้งโลก จะเขียนว่า “หากคุณชอบโปรแกรมนี้ ก็บริจาคเงินอุดหนุนให้กระผมได้ที่ xxx” แต่ผู้สร้างเวิร์ดเพรสกลับไม่เขียนอย่างนั้น เค้าบอกว่า
เวิร์ดเพรสนั้น ไม่มีเงินทำการตลาดเป็นล้่านๆ หรือผู้สนับสนุนดังๆ แต่เรามีบางสิ่งที่เยี่ยมยอดกว่านั้น นั่นคือ “คุณ”
หากคุณใช้เวิร์ดเพรสแล้วชอบ ลองบอกต่อคนอื่นๆ หรือนำมันไปติดตั้งให้คนอื่นๆ ที่มีความรู้น้อยกว่าคุณ หรือบอกกล่าวต่อสื่อมวลชนที่มองข้ามเราไป
ไม่ขอเงินซักบาท! มีแต่กวีไส้แห้งเท่านั้นแหละ ที่กล้ากล่าวเช่นนี้
5. ติดตั้งง่าย คนเกือบทั้งหมดในโลกนี้ ใช้เวลาตัดสินใจว่าจะใช้เวิร์ดเพรสดีหรือเปล่า นานกว่าเวลาที่ใช้ติดตั้งเวิร์ดเพรสเสียอีก
(คือติดตั้งประมาณ 5 นาที ได้เว็บที่ใช้งานได้จริง)
6. การแบ่งเนื้อหาเป็น Post (พวกบันทึกจิปาถะ/บล็อก) กับ Page (หน้าตายตัว มีลำดับชั้นได้)
ซึ่งเรียบง่าย เข้าใจง่าย ทำไห้ประกอบเป็นเว็บง่าย และตอบสนองเว็บที่แสดงเนื้อหาส่วนใหญ่
7. การแปลงข้อความที่พิมพ์มาแสดงผลเป็น XHTML อย่างชาญฉลาด
(โดยระบบ Texturize และ Intelligent text formatting)
เวลาเขียนบล็อกหรือเนื้อหาในเว็บ หากเราต้องการตัวอักษรหลากหลาย ย่อหน้าหลากหลาย หรือแทรกรูปภาพ ฯลฯ เราจะมีวิธีคือ
7.1 เขียนโค้ด XHTML เองทั้งหมด วิธีนี้เหนื่อย ลำบาก โดยหากต้องคอยแยกแยะ BR และ P ยึ่งเหนื่อย
7.2 ไม่ต้องเขียนโค้ดเอง จะมีโปรแกรมสายนึงเรียกว่า What you see is what you get (WYSIWYG) ซึ่งให้อารมณ์ประมาณ Microsoft Word – นั่นคือ ดูดี ดูมี Toolbar เยอะ ทำอะไรได้เยอะ แต่หลายครั้งมันจะใส่โค้ดมามั่วซั่ว โง่ อวดฉลาด แม้คนหลายกลุ่มจะดูไม่ออก (เช่น มันใส่ให้ font ติดกัน ขนาดต่างกัน 1 ระดับ) แต่คนเรื่องมากอย่างผมรับไม่ได้
7.3 เขียนโค้ดเองบางส่วน ตามไวยากรณ์ง่ายๆ เช่น Textile, Markdown ซึ่งดูจะเป็นทางออกที่ดีที่สุด คือทั้งเรียบง่าย และ ใส่อะไรได้เยอะ
แต่แล้ว ทั้งสองแบบนั้น กลับไม่ฉลาดเหมือนระบบของ Wordpress ที่แทรกโค้ด XHTML ตรงๆ ก็ได้ หรือเว้นย่อหน้าก็ได้ หรือใส่ div อย่างไรก็ได้ หรือจะทำตัวเป็น WYSIWYG ก็ได้ ไม่อวดฉลาดเหมือนระบบอื่นๆ
แน่นอนว่าระบบแปลงข้อความของเวิร์ดเพรส ยังมีข้อที่ควรปรับปรุงอยู่บ้าง (เช่น แทรก div ซับซ้อน) แต่มันฉลาดที่สุดเท่าที่กระผมเคยลองมา
8. เวิร์ดเพรสมาพร้อมกับระบบของเว็บสมัยใหม่ ที่หลายอย่างมานั่งเขียนเองก็เหนื่อยโคตร
เช่น RSS Feed, Trackback, Pingback, Blogrolls (ที่ระบุความสัมพันธ์ด้วย ไม่ใช่แค่ link เฉยๆ), Spam Protection, User Management, XML-RPC Interface (ทำให้อัพบล็อกผ่านโปรแกรม หรือมือถือได้) ฯลฯ
9. เวิร์ดเพรสมีชุมชนขนาดใหญ่รองรับ ให้ความรู้ และให้ความช่วยเหลือ รวมถึงแบ่งปันการออกแบบที่เรียกว่า Wordpress Theme
คำถามหลายๆ อย่างเกี่ยวกับ Wordpress หาใน Google แป๊บเดียวได้เลย แต่หากอยากลงลึก ก็ถามใน Support Forum ได้
…
แต่หากจะกล่าวถึงสิ่งที่ด้อยกว่า เมื่อนำ Wordpress เทียบกับ Drupal ก็ต้องยอมรับว่า Wordpress ออกแบบมาสำหรับเว็บที่แยก “ผู้อ่าน” ออกจาก “ผู้เขียน” ชัดระดับหนึ่ง หรือกล่าวว่าเป็นเว็บที่ให้ข้อมูลเป็นหลัก ในขณะที่ Drupal นั้น โดดเด่นในแง่ การมีส่วนร่วมของสมาชิก ซึ่งหมายความว่า เราค่อนข้างอยากให้ “ผู้อ่าน” ของ Drupal มีส่วนเป็น “ผู้เขียน” ด้วย
ดังนั้น หน้าตาของ Wordpress และ Drupal ก็ย่อมแตกต่างกัน
Wordpress มีหน้าตาแยกกันชัดเจนระหว่างด้านหน้าเว็บ-ไว้ดูกับคอมเม้นท์นิดหน่อย- กับด้านหลังเว็บ ไว้จัดการข้อมูลต่างๆ
Drupal รวมหน้าตาไว้ด้วยกัน เพราะผู้ใช้แต่ละคนมีสิทธิืหลากหลาย ทั้งอ่าน ทั้งเขียน ฯลฯ (เลยทำให้ออกแบบยากกว่า แต่ทำให้ผู้ใช้ทำอะไรได้เยอะกว่า)
กระนั้น เมื่อสาวกท่าน ไอฟ์ เชื่อเช่นเดียวกับที่ท่านไอฟ์ว่าไว้ว่า “สิ่งสำคัญไม่ใช่การเพิ่ม Feature แต่คือการตัดออก” กระผมจึงเห็นว่า แม้ Drupal จะ Feature เยอะ แต่เมื่อกระผมตามไม่ทัน กระผมก็ขอตัดออก และเลือก Wordpress แทนละกันเฟร้ย
ทิ้งท้ายด้วยการขอเชิญชวนทุกท่านให้ลิ้มลอง Wordpress แล้วท่านจะรักเวิร์ดเพรสเหมือนกับกระผม
เหมือนที่เคยกล่าวว่า…
กระผมรักเวิร์ดเพรส เพราะเวิร์ดเพรสสอนให้กระผมรักโค้ดดั่งบทกวี
(บทความจาก iMenn.com)


Facebook
Twitter
K
10 July 2008 เมื่อ 5:29 pmอันนี้เรียก ว่า URL-Alias ครับ ใน Drupal ก็มีครับ ต้องลองดูนะครับ ทั้งสอง CMS คล้ายกัน แต่ว่าถ้าที่ทำงานเราต้องการอะไร ที่เป็นระบบงานของเราเพิ่มเติมนอกจาก Static Page ล่ะ ก็ต้อง มาทำอะไรกันอีก ยังไงก็ลอง
ใช้งานกันดูนะครับ สนุกไปกับ CMS นะครับ ความสวยงาม ของ CMS ขึ้นกับ Theme และ CSS นะครับ
การโหลด CSS มาหลายๆ ไฟล์ก็ดีครับ ในส่วนการที่เป็นนักโปรแกรม ก็จะเข้าใจการทำงานง่าย และรวดเร็วในการทำงานนะครับ แล้ว CSS เป็นไฟล์ที่อยู่บน Server นะครับ เนื่องจากสามารถ Cache ไฟล์ บน Server ก่อน คนที่ใช้พร้อมกันมากๆ ก็จะทำให้โหลดได้เร็วขึ้น CSS นี่จะเป็นเหมือนกัน ทุก CMS นะครับ ข้อเสียคือ
DATABASE ครับ CMS ต้องไปดึงข้อมูลจาก Database Server หรือ Database ที่ใช้งานกัน บน webserver ทั่วไปนั่นแหละครับ
แบ้งค์สุดหล่อพ่อตั้งให้
29 January 2009 เมื่อ 12:36 amแหะๆ เข้าเว็บโน่น นี่ นั่น มายันดึกเลย จนมาบังเอินนน บังเอิน มาเจอเว็บ พี่เม่นได้ไงยังไม่รุ้ตัวเลย
เลยคิดว่ามาแนะนำตัวซักเล็กน้อย อิอิ
Flik
1 May 2010 เมื่อ 8:02 pmได้ความรู้เต็มๆ เลยครับ