การพัฒนาเว็บ ไม่ใช่สิ่งเดียว จะครอบคลุม skillsets หลายและมีอาชีพที่แตกต่างกันภายในพื้นที่การพัฒนาเว็บ สามคำที่มักใช้คือ "ส่วนหน้า" "ท้ายสุด" และ "เต็มสแต็ค" นี่คือความแตกต่างที่สำคัญระหว่างสาม
การพัฒนาเว็บแบบ Front-End
การพัฒนา Front-end ในขณะที่คอมโพเนนต์มีการเปลี่ยนแปลงตลอดเวลาโดยส่วนใหญ่เกี่ยวข้องกับส่วนที่เกี่ยวกับด้านนอกของเว็บไซต์หรือแอพพลิเคชันบนเว็บ
ในส่วนของการพัฒนา front-end เกี่ยวข้องกับ HTML, CSS และ JavaScript
- HTML : HyperText Markup Language หรือ HTML เป็นส่วนประกอบโครงสร้างหลักของเว็บไซต์ทั้งหมดบนอินเทอร์เน็ต หากไม่มีหน้าเว็บจะไม่สามารถมีได้
- CSS : CSS เพิ่มรูปแบบ HTML ฉันชอบที่จะใช้ความคล้ายคลึงกันที่ HTML เป็นเหมือนใบหน้าและ CSS เป็นเหมือนการแต่งหน้า
- JavaScript : JavaScript หรือ JS มีการพัฒนาไปในช่วงหลายปีที่ผ่านมา เกี่ยวกับการพัฒนา front-end JS มีความสำคัญเนื่องจากช่วยให้หน้าเว็บโต้ตอบได้
โดยทั่วไปส่วนหน้ามีส่วนเกี่ยวข้องกับรูปแบบและหลักการออกแบบ อย่างไรก็ตามนักพัฒนาหน้าไม่จำเป็นต้องเป็นนักออกแบบ
โดยทั่วไปนักพัฒนาซอฟต์แวร์หน้าจะสร้างลักษณะภายนอกซึ่ง ได้แก่ หน้าเว็บไซต์ที่ผู้ใช้ดู ซึ่งหมายความว่าผู้พัฒนา front-end ต้องคำนึงถึงความสามารถในการอ่านและใช้งานไซต์และ / หรือโปรแกรมประยุกต์
นอกจากนี้ส่วนหน้าจะทำงานบนไคลเอ็นต์ซึ่งหมายถึงคอมพิวเตอร์ในระบบของผู้ใช้โดยส่วนใหญ่แล้วเว็บเบราเซอร์
และข้อมูลจะไม่ถูกเก็บไว้ในฝั่งไคลเอ็นต์
การพัฒนาเว็บแบบ Back-End
การพัฒนาเว็บแบบ Back-end คือสิ่งที่เกิดขึ้นเบื้องหลัง ปลายด้านหลังช่วยให้สามารถใช้งาน front-end ได้
เพื่อให้ง่ายขึ้นให้คิดถึงส่วนหน้าเหมือนเป็นส่วนหนึ่งของภูเขาน้ำแข็งเหนือน้ำ เป็นสิ่งที่ผู้ใช้เห็น - ไซต์ที่เพรียวบาง
ปลายด้านหลังคือส่วนที่เหลือของน้ำแข็ง ไม่สามารถมองเห็นได้โดยผู้ใช้ปลายทาง แต่เป็นองค์ประกอบพื้นฐานที่สุดของแอปพลิเคชันเว็บ ปลายด้านหลังจะทำงานบนเซิร์ฟเวอร์หรือเนื่องจากเซิร์ฟเวอร์มักเรียกว่า "ฝั่งเซิร์ฟเวอร์"
ซึ่งแตกต่างจากการพัฒนา front-end (ซึ่งส่วนใหญ่ใช้ HTML, CSS และ JavaScript) การพัฒนาเว็บแบบ Back-End สามารถพึ่งพาภาษาและกรอบต่างๆได้
ภาษาที่นิยมใช้ในด้านหลัง ได้แก่ :
- ทับทิม (มักใช้ร่วมกับกรอบ Rails - AKA Ruby on Rails)
- Python (ซึ่งมักใช้กับกรอบ Django ที่ปลายด้านหลัง)
- PHP (WordPress CMS ยอดนิยมใช้ PHP ในส่วนหลังของมัน - PHP มีกรอบความนิยมเพียงไม่กี่รูปแบบเช่น Laravel)
- Node.js (กำลังได้รับความนิยมเพิ่มขึ้น - นี่คือสภาพแวดล้อมแบบ back-end สำหรับแอปเว็บที่สร้างด้วย JavaScript)
อย่างไรก็ตามเพื่อให้เว็บไซต์และแอพพลิเคชันเว็บขนาดใหญ่ทำงานได้ดีกว่าภาษาและกรอบงานด้านหลัง ข้อมูลทั้งหมดในเว็บไซต์หรือแอพพลิเคชันต้องเก็บไว้ที่ไหนสักแห่ง
นี่คือที่มาของฐานข้อมูลนักพัฒนาแบ็คเอนด์จัดการเหล่านี้ด้วย
( หมายเหตุ : คุณสามารถสร้างเว็บไซต์โดยไม่ใช้ฐานข้อมูลโดยใช้เพียง HTML และ CSS ซึ่งจะเป็นไซต์แบบคงที่และมีความยืดหยุ่นน้อยกว่ามากอย่างไรก็ตามไซต์ที่อาศัยข้อมูลที่จะสร้างขึ้นแบบไดนามิก - Facebook, Yelp ใด ๆ ไซต์อีคอมเมิร์ซ - ต้องการฐานข้อมูล)
ฐานข้อมูลยอดนิยม ได้แก่ :
- MySQL
- PostgreSQL
- MongoDB
- และคนอื่น ๆ
โดยทั่วไปแล้วภาษา / กรอบด้านหลังบางอย่างจำเป็นต้องใช้ฐานข้อมูลบางอย่าง ตัวอย่างเช่นโครงร่าง MEAN full stack ต้องใช้ MongoDB
นอกเหนือจากการรู้ภาษา / กรอบด้านหลังและฐานข้อมูลที่ใช้งานแล้วนักพัฒนาซอฟต์แวร์ส่วนหลังจะต้องมีความเข้าใจเกี่ยวกับสถาปัตยกรรมเซิร์ฟเวอร์
การตั้งค่าเซิร์ฟเวอร์อย่างถูกต้องช่วยให้ไซต์สามารถทำงานได้อย่างรวดเร็วไม่ใช่ความผิดพลาดและไม่ให้ข้อผิดพลาดแก่ผู้ใช้ การดำเนินการนี้อยู่ภายใต้โดเมนของนักพัฒนาซอฟต์แวร์ส่วนหลังเนื่องจากข้อผิดพลาดส่วนใหญ่เกิดขึ้นที่ส่วนท้ายไม่ใช่ส่วนหน้า
กองเต็ม
ใช่คุณคาดเดาได้ว่า: กองเต็มคือการรวมกันของทั้งด้านหน้าและด้านหลัง
นักพัฒนาแบบเต็มกองเป็นนักพัฒนาซอฟต์แวร์แบบเต็มรูปแบบ พวกเขามีความรับผิดชอบในทุกระดับของการพัฒนาจากเซิร์ฟเวอร์ถูกเซ็ตอัพเป็น CSS ที่เกี่ยวกับการออกแบบ
วันนี้มีมากที่จะไปสู่การพัฒนาเว็บที่เป็นไปไม่ได้เกือบจะจัดการกับทั้งสองฝ่าย ในขณะที่หลาย ๆ คนสามารถอ้างสิทธิ์ว่าเป็นสแต็คแบบเต็มหรือในความเป็นจริงพวกเขามักจะมุ่งเน้นที่ด้านใดด้านหนึ่ง: ไคลเอ็นต์หรือเซิร์ฟเวอร์ (AKA ปลายด้านหน้าหรือด้านหลัง)
ที่ บริษัท ขนาดเล็ก / startups คนเดียวน่าจะเป็นผู้รับผิดชอบต่อทุกด้านของสเปกตรัมการพัฒนาเว็บ อย่างไรก็ตามใน บริษัท ที่มีขนาดใหญ่คนทำงานในทีมและมีบทบาทเฉพาะ แต่มุ่งเน้นไปที่สถาปัตยกรรมเซิร์ฟเวอร์อื่น (หรือเพียงไม่กี่คน) ที่ส่วนหน้าเป็นต้น
ข้อสรุป
การพัฒนาเว็บมีหลายใบหน้าและมีการพัฒนาขึ้นทุกวัน มีมากที่จะเรียนรู้ แต่อย่ารู้สึกกดดันให้เรียนรู้ทุกอย่างพร้อมกัน โปรดจำไว้ว่าในสภาพแวดล้อมการทำงานคุณมักจะอยู่ในทีมกับคนอื่น ๆ มุ่งเน้นที่การฝึกฝนทักษะของคุณในด้านหนึ่งของการพัฒนาเว็บในแต่ละครั้ง อย่าหวาดกลัวและคุณจะเป็นมืออาชีพก่อนที่คุณจะรู้