วงแหวนเว็บ

ว่าด้วยนิยามของ Platform, Library, Framework และ Open Source สำหรับผู้เริ่มต้น

ว่าด้วยนิยามของ Platform, Library, Framework และ Open Source สำหรับผู้เริ่มต้น

มีศัพท์หลายๆคำในโลกของโปรแกรมเมอร์หรือเดฟ ที่คนที่ไม่ได้อยู่ในวงการนี้ เวลาเข้ามาอ่านงานเขียน บทความหรือชุดข้อมูล แล้วมักจะรู้สึกอยากเกาหัวเมื่อเจอคำพวกนี้ เช่น Platform บ้างล่ะ Library บ้างล่ะ แค่นี้ก็มึนแล้ว ยิ่งอ่านไปอ่านมาเจอ Open source อีก กลายเป็นมึนทบมึนเข้าไปอีก

ในบทความนี้ เลยอยากเสนอคำนิยามของคำ 4 คำที่มักจะเจอบ่อยๆ ได้แก่

  • Platform
  • Library
  • Framework
  • Open Source

จากการอ่านบทความหลายๆเว็บ ก็เอามายำ ขยำ ตัด สระ เซ็ท ซอย กลายเป็นคำนิยามที่เข้าใจง่ายขึ้น Learning curve ไม่สูงมากเกินไปสำหรับมือใหม่ (เช่นผม) โดยความเข้าใจที่มีต่อศัพท์เทคนิคข้างต้นมาจากมโนทัศน์ของผมเป็นหลัก งั้นก็ไม่รอช้า เรามาเริ่มจากคำว่า Platform ก่อนเลยละกัน

Platform

Platform

แพลตฟอร์ม (Platform) แปลทื่อๆตรงๆ ก็คือ แท่น หรือชานชาลา แต่ในทางนักพัฒนาโปรแกรม คำๆนี้จะสื่อถึง โปรแกรมอะไรก็ได้ ที่ถูกสร้างขึ้นมาเพื่อมารองรับการใช้งานของโปรแกรมอันอื่น เช่น 

โปรแกรม Excel ที่ใช้บนวินโดวส์ ในที่นี้ วินโดวส์จะเป็นแพลตฟอร์ม เพราะ Excel ทำงาน (หรือรัน) บนวินโดวส์

และถ้าเราใช้ Excel ทำโปรแกรมประยุกต์ เช่น บันทึกการซื้อ-ขาย แบบนี้แล้ว Excel ก็จะเป็นแพลตฟอร์มของโปรแกรมประยุกต์นั้น เป็นต้น

อธิบาย Platform
Platform : เปรียบตัวพี่เป็นปิรามิด

จากตัวอย่างข้างต้น เราก็สามารถใช้มุมมองแบบนี้ไปจับคู่การทำงานของอะไรๆได้อีกเยอะ เพียงแค่การหาความเชื่อมโยงระหว่าง ยอด (คน-ผู้ใช้บริการ) กับ ฐาน (ชานชาลา-ผู้ให้บริการ) เปรียบดั่ง ชานชาลาที่ทำให้คนขึ้นรถไฟได้ นั่นเอง แต่แพลตฟอร์มก็มักจะมีคุณสมบัติเฉพาะเป็นของตัวเอง เช่น คุณไม่สามารถขึ้นเรือได้จากชานชาลารถไฟ ประมาณนั้นแหละครับ (แต่สมัยนี้ก็มีเรือสะเทินน้ำสะเทินบกแล้วนะครับ สามารถขึ้นได้จากทั้งชานชาลาและท่าเรือ เรามักเรียกยนตรกรรมนั้นว่า Cross-platform)

Library

Library

ไลบรารี่ (Library) หมายถึง ห้องสมุด ใช่แล้วครับ ห้องสมุดที่ภายในมีหนังสือเยอะๆจัดเป็นหมวดหมู่นั่นแหละ คอนเซ็ปต์เดียวกัน เพียงแต่เปลี่ยนจากหนังสือเป็นกลุ่มโค้ด แค่นี้ก็จะมองเห็นภาพของไลบรารี่ในมุมมองของเหล่า Geek ในโลกโปรแกรมได้แล้ว เย่

Framework

framework

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

ความเหมือน-ต่างระหว่าง ไลบรารี่ Vs เฟรมเวิร์ค

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

ไลบรารี่คือ ห้องสมุดที่ มีเหล่าชุดโค้ดที่รอการเรียกออกมาใช้ (เหมือนหนังสือที่วางนิ่งบนชั้น) 

ส่วน เฟรมเวิร์ค คือ ห้องสมุดที่ มีเหล่าชุดโค้ดที่รอการเรียกออกมาใช้ รวมถึงอาจจะมีห้องสมุดย่อยๆอยู่ในห้องสมุดอีกทีนึงด้วย

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

Open Source

โอเพ่นซอร์ส (Open Source) คือ ซอฟต์แวร์ที่สามารถใช้งานได้ฟรี ไม่มีการคิดค่าเงื่อนไขเพิ่มเติม โดยจะมีการเผยแพร่ซอร์สโค้ด (Source Code) หรือโค้ดต้นฉบับ และมีเงื่อนไขครบตามเกณฑ์ของความเป็นโอเพ่นซอร์ส (Open source License) โดยผู้ใช้งานจะได้รับสิทธิต่างๆตามเงื่อนไขทั้งหมด สามารถดูคุณสมบัติของโอเพ่นซอร์สได้ที่เว็บไซต์ของสวทช.

นี่เป็นการยกตัวอย่างคำบางคำที่เราจะเจอบ่อยๆในโลกของโปรแกรมคอมพิวเตอร์ ยังมีอีกหลายๆคำที่จะต้องใช้ความเข้าใจและมองภาพให้ออก เพื่อเป็นพื้นฐานให้ได้ไปต่อกับข้อมูลความรู้ที่ลึกและใหม่ยิ่งขึ้นไปอีก เพราะในโลกนี้มีการเปลี่ยนแปลงอยู่เสมอๆ เทคโนโลยีใหม่ๆดาหน้ากันเข้ามากระทบกับวิถีชีวิตสัตว์โลกไม่เคยขาด ไม่ว่าคุณจะเป็น novice หรือ High class ต่างก็ต้องพบพานเสมอเหมือนกัน เพราะฉะนั้น อย่าหยุดหาข้อมูลใหม่ๆตลอดเวลาครับ

บทความนี้คือครั้งแรกที่ผมลองเขียนดู ซึ่งบทความที่ดีควรจะมีคำลงท้าย งั้นขอลงท้ายด้วย phase ยอดอิตใน Reddit ละกันนะครับ

็ฟยยั ฉนกรืเ 8iy[

(เปลี่ยนภาษาผิด ขอพิมพ์อีกทีละกัน)

Happy Coding ครับ


Share Tweet Send
0 Comments
Loading...
You've successfully subscribed to Toupawa Studio
Great! Next, complete checkout for full access to Toupawa Studio
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.