อาชีพเทคโนโลยี

Front-End vs. Back-End เทียบกับ Full-Stack Web Development

ผู้หญิงที่ใช้แท็บเล็ต

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



การพัฒนาเว็บส่วนหน้า

การพัฒนาส่วนหน้า ในขณะที่ส่วนประกอบต่างๆ มีการเปลี่ยนแปลงอยู่เสมอ โดยพื้นฐานแล้วจะเกี่ยวข้องกับส่วนด้านนอกของเว็บไซต์หรือเว็บแอปพลิเคชัน ที่แกนหลัก การพัฒนาส่วนหน้าเกี่ยวข้องกับ HTML , CSS และจาวาสคริปต์:

  • HTML : HyperText Markup Language หรือ HTML เป็นองค์ประกอบโครงสร้างหลักของเว็บไซต์ทั้งหมดบนอินเทอร์เน็ต หากไม่มีเว็บเพจก็ไม่สามารถอยู่ได้
  • CSS : CSS เพิ่มสไตล์ให้กับ HTML ฉันชอบใช้การเปรียบเทียบว่า HTML เปรียบเสมือนใบหน้า และ CSS เปรียบเสมือนการแต่งหน้า
  • JavaScript : JavaScript หรือ JS มีการพัฒนาในช่วงหลายปีที่ผ่านมา เกี่ยวกับการพัฒนาส่วนหน้า JS มีความสำคัญเนื่องจากช่วยทำให้หน้าเว็บโต้ตอบได้

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

การพัฒนาเว็บส่วนหลัง

การพัฒนาเว็บแบ็คเอนด์ คือสิ่งที่เกิดขึ้นเบื้องหลัง ส่วนหลังช่วยให้ประสบการณ์ส่วนหน้า

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

ไม่เหมือนกับการพัฒนาส่วนหน้า (ซึ่งส่วนใหญ่ใช้ HTML, CSS และ JavaScript) การพัฒนาเว็บส่วนหลังสามารถพึ่งพาภาษาและเฟรมเวิร์กได้หลากหลาย

จำนวนน้อย ภาษายอดนิยม ใช้ที่ส่วนหลัง ได้แก่ :

  • ทับทิม (มักใช้ร่วมกับเฟรมเวิร์ก Rails -- AKA Ruby on Rails)
  • Python (ซึ่งมักใช้กับเฟรมเวิร์ก Django ที่ส่วนหลัง)
  • PHP ( WordPress CMS ยอดนิยมใช้ PHP ในส่วนแบ็คเอนด์ -- PHP มีเฟรมเวิร์กยอดนิยมสองสามตัว อันแรกคือ Laravel)
  • Node.js (ได้รับความนิยมมากขึ้น -- นี่คือสภาพแวดล้อมแบ็คเอนด์สำหรับเว็บแอปที่สร้างด้วย JavaScript)

เพื่อให้เว็บไซต์ขนาดใหญ่และเว็บแอปพลิเคชันทำงานได้ เป็นมากกว่าภาษาและเฟรมเวิร์กแบ็คเอนด์ ข้อมูลทั้งหมดบนเว็บไซต์หรือแอปพลิเคชันต้องเก็บไว้ที่ใดที่หนึ่ง

นี่คือที่มาของฐานข้อมูล นักพัฒนาส่วนหลังจะจัดการสิ่งเหล่านี้เช่นกัน

ฐานข้อมูลยอดนิยม ได้แก่ :

  • MySQL
  • PostgreSQL
  • MongoDB
  • และคนอื่น ๆ

โดยทั่วไป ภาษา/กรอบงานส่วนหลังบางภาษาต้องการฐานข้อมูลบางอย่าง ตัวอย่างเช่น MEAN full stack framework ต้องการ MongoDB .

นอกเหนือจากการรู้ภาษา/กรอบงานแบ็คเอนด์และฐานข้อมูลที่ทำงานอยู่ นักพัฒนาส่วนหลังยังต้องเข้าใจสถาปัตยกรรมเซิร์ฟเวอร์ด้วย

การตั้งค่าเซิร์ฟเวอร์อย่างเหมาะสมทำให้ไซต์ทำงานได้อย่างรวดเร็ว ไม่ขัดข้อง และไม่ให้ข้อผิดพลาดแก่ผู้ใช้ สิ่งนี้อยู่ภายใต้โดเมนของนักพัฒนาส่วนหลังเนื่องจากข้อผิดพลาดส่วนใหญ่เกิดขึ้นที่ส่วนหลัง ไม่ใช่ส่วนหน้า

เต็มกอง

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

ทุกวันนี้ มีการพัฒนาเว็บมากมายจนแทบจะเป็นไปไม่ได้เลยที่จะจัดการทั้งสองฝ่าย ในขณะที่หลายคนสามารถอ้างว่าเป็นกองเต็มหรือในความเป็นจริง พวกเขายังคงเน้นที่ด้านใดด้านหนึ่ง: ไคลเอนต์หรือเซิร์ฟเวอร์

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

บทสรุป

การพัฒนาเว็บมีหลายลักษณะและมีการพัฒนามากขึ้นทุกวัน มีอะไรให้เรียนรู้มากมาย แต่อย่ารู้สึกกดดันที่จะเรียนรู้ทุกอย่างพร้อมกัน จำไว้ว่าในสภาพแวดล้อมที่ทำงาน คุณมักจะอยู่ในทีมกับผู้อื่น มุ่งเน้นการฝึกฝนทักษะของคุณในด้านใดด้านหนึ่งของการพัฒนาเว็บในแต่ละครั้ง อย่าท้อแท้และคุณจะเป็นมืออาชีพก่อนที่คุณจะรู้