ความหมายของการเป็น Front-End Developer ในปี 2020 (และต่อๆ ไป)

เผยแพร่แล้ว: 2023-04-21

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

​​โดยพื้นฐานแล้ว “Front-end” หมายถึงเว็บเบราว์เซอร์ ฉันคิดว่าตัวเองเป็นนักพัฒนาส่วนหน้า และบอกตามตรงว่าฉันจะไม่เกลียดเลยถ้าคุณเรียกฉันว่านักพัฒนาเว็บเบราว์เซอร์ แต่นั่นอาจจะไม่เกิดขึ้น (และดูเหมือนว่าคุณสร้างเว็บเบราว์เซอร์) ในฐานะนักพัฒนาส่วนหน้า คุณทำงานอย่างใกล้ชิดกับเว็บเบราว์เซอร์และเขียนโค้ดที่ทำงานในเบราว์เซอร์ โดยเฉพาะ HTML, CSS, JavaScript และภาษาอื่นๆ อีกจำนวนหนึ่งที่เว็บเบราว์เซอร์พูด (เช่น รูปแบบสื่ออย่าง SVG) หรืออาจอธิบายได้ทั่วไปกว่านั้นคือโค้ดที่ได้รับการประมวลผลเป็นภาษาที่เบราว์เซอร์เข้าใจในท้ายที่สุด นั่นคืออาณาเขตของคุณในฐานะนักพัฒนาส่วนหน้า!

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

ภาพมือ 7 มือถืออุปกรณ์เคลื่อนที่ต่างๆ เช่น โทรศัพท์ แล็ปท็อป และแท็บเล็ต
ภาพจากชัตเตอร์ช็อต

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

​​หากคุณเพิ่งจบจาก coding bootcamp และประสบการณ์ในการสร้างเว็บไซต์ยังค่อนข้างแคบและใหม่ คุณอาจได้รับการอภัยหากคุณคิดว่าการพัฒนาส่วนหน้าเป็น "สิ่งที่ทำปฏิกิริยา" และการพัฒนาส่วนหลังเป็น "โหนด" ของ” หรือ “ของ Python” เช่นเดียวกับรสชาติที่ร้อนแรงที่สุดในปัจจุบัน คุณก็ไม่ผิดเช่นกัน โดยทั่วไปแล้ว React จะถูกใช้เป็นเฟรมเวิร์กส่วนหน้า (มันคือ JavaScript อย่างแท้จริงที่ทำงานในเบราว์เซอร์) โหนดและ Python เป็นตัวอย่างของภาษาที่ไม่ได้ทำงานในเว็บเบราว์เซอร์จริงๆ สร้างขึ้นเพื่อทำงานบนเว็บเซิร์ฟเวอร์ (เอ่อ คอมพิวเตอร์)

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

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

ภาพเด็กคนหนึ่งกำลังงี่เง่า ส่วนอีกคนดูโกรธจัดและกำหมัดแน่น
ภาพจากชัตเตอร์ช็อต

​​น่าจะใช่ทั้งคู่ ตราบใดที่ไม่มีใครน่ารังเกียจ มันก็เป็นส่วนหนึ่งของกระแส

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

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

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

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

​​แล้วคุณกำลัง ทำ อะไรในฐานะนักพัฒนาส่วนหน้า

  • ​​คุณกำลังดำเนินการออกแบบให้ดูดีในทุกหน้าจอ
  • ​​คุณกำลังใช้ความหมายกับเนื้อหา
  • ​​คุณกำลังสร้าง UI แบบนามธรรมเพื่อให้คุณสามารถใช้ชิ้นส่วนและสไตล์ซ้ำได้อย่างมีประสิทธิภาพ
  • ​​คุณกำลังพิจารณาการเข้าถึงสิ่งที่แสดงผลในเบราว์เซอร์
  • ​​คุณกังวลเกี่ยวกับประสิทธิภาพของไซต์ ซึ่งหมายความว่าคุณกำลังจัดการกับขนาดและจำนวนทรัพยากรที่เบราว์เซอร์ใช้

​​สิ่งเหล่านั้นเป็นจริงเสมอมา และจะเป็นเช่นนี้ตลอดไป เนื่องจากเป็นข้อกังวลในระดับเบราว์เซอร์โดยพื้นฐาน และนั่นคือสิ่งที่ฟรอนต์เอนด์เป็น

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

​​การพัฒนาส่วนหน้าในทุกวันนี้อาจรวมถึง:

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

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

ภาพผู้คนสองสามคนกำลังมองดูกองหญ้าขนาดใหญ่
ภาพจากชัตเตอร์ช็อต

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

โชคดี!