มาเริ่มต้นพัฒนา Backend กันเถอะ

09-มี.ค.-18

คัมภีร์เทพ IT

บทความนี้ไม่ได้ลงลึกเกี่ยวกับการ Coding แต่เป็น Guideline ให้ผู้ที่อยากเป็น Backend Developer ผู้เขียนได้แนะนำทั้ง ภาษา, Framework รวมทั้งความรู้เบื้องต้นที่คุณต้องใช้ เรามาดูกันดีกว่าว่าคุณ Ajmal Siddiqui จะเขียนไว้อย่างไรบ้าง

Backend Development คืออะไร

ถ้าพูดถึง App หรือ Web Service จะประกอบด้วย 2 ส่วนใหญ่ๆ คือ ส่วนที่เป็น Frontend และ Backend สำหรับ Frontend คือสิ่งที่คุณสามารถเห็นได้ เช่น สีสัน, Animation, Layout ต่างๆ เป็นต้น ซึ่งโดยทั่วไปมักจะเรียกส่วนของ Frontend ว่า User Interface (UI) ส่วน Backend คือส่วนที่คุณมองไม่เห็น มันเป็นการทำงานภายใน Application หรือ Website รวมถึงอื่นๆ อย่าง Server , Database เป็นต้น อย่างที่คุณกำลังอ่านอยู่นี่ก็คือ Frontend ซึ่งคุณจะเห็นบทความ รูปแบบตัวอักษร สี การ Design แต่ Website และบทความนี้ก็ถูก Serve มาจาก Server และถูก Fetch มาจาก Database นั่นเอง ซึ่งคือส่วน Backend ของ Application

Backend Developer ทำอะไรบ้าง

Backend Developer สามารถทำงานร่วมกับ Developer ประเภทอื่นๆ ใน Project เดียวกันได้ เพราะทักษะที่ต้องใช้ในการทำ App หรือ Web service ไม่ได้ถูกจำกัดเฉพาะแค่ Backend Developer และนี่คือบางส่วนของสิ่งที่ Backend Developer สามารถทำได้:

  • เขียน Code ในส่วนของ Server-side
  • เขียน Code ให้เชื่อมต่อกับ Database
  • ตรวจสอบให้แน่ใจว่า Code ส่วนของ Server-side มีความปลอดภัยและปราศจากช่องโหว่ต่างๆ
  • ตรวจสอบให้แน่ใจว่า Code ส่วนของ Server-side มีการทำให้เหมาะกับปริมาณการรับส่งข้อมูลจำนวนมากๆ ได้
  • Deploy Code ให้เข้าสู่ระบบออนไลน์ เพื่อให้ผู้คนสามารถใช้บริการได้

ความรู้เบื้องต้น

ก่นอที่จะรู้เจาะจงเฉพาะไปใน Frameworks, Languages และ Technologies มีบางเรื่องที่ Backend Developer ควรคุ้นเคยกับมันเสียก่อน

  1. เข้าใจก่อนว่า Server คืออะไรและมี Server ประเภทใดบ้าง เราคงต้องขอบคุณภาพยนตร์และ Pop Culture ต่างๆ ที่ช่วยแสดงไอเดียวเกี่ยวกับ Server ให้เราได้รู้ แต่มันก็ไม่ได้ซับซ้อนมากมายอะไร ซึ่งคุณจะได้รู้จักมันจริงๆ ก็ต่อเมื่อคุณได้เรียนรู้มัน
  2. เรียนรู้เกี่ยวกับ Database ว่าคืออะไร และมันมีกี่ประเภท
  3. เข้าใจพื้นฐานว่า HTTP คืออะไร การ Communicate ระหว่าง Server และ Client (ในที่นี่เช่น User ที่ใช้ App/Website) เกิดขึ้นผ่าน Protocol และคุณควรรู้ว่า Protocol ทำงานอย่างไร
  4. ควรรู้ว่า Application Programming Interface (API) คืออะไร นอกจากนี้ควรเข้าใจความแตกต่างระหว่าง REST APIs และ SOAP APIs ด้วย

แล้วจากที่กล่าวๆ มาทั้งหมด จะเริ่มจากไหนดี ซึ่งคุณ Ajmal ก็ได้แนะนำวิธีที่ง่ายสุดคือ ค้นหาเอาจาก Google นั่นแหละ นอกจากอ่านบทความต่างๆ ตามหัวข้อที่ว่ามาแล้ว คุณยังสามารถดูพวก Video จาก Youtube หรือ Website ต่างๆ ด้วยก็ได้ ก่อนที่คุณจะก้าวข้ามไปพัฒนาส่วนของ Backend มันจะดีมากหากคุณมีประสบการณ์ในส่วนของ Frontend มาบ้าง ทางลัดคืออยากให้คุณลองศึกษาพวก HTML, CSS และ JavaScript ก่อน มาถึงจุดนี้คุณควรในสิ่งที่ Backend Developer ต้องทำแล้ว เมื่อคุณเข้าใจในพื้นฐานแล้ว ก็มาเริ่ม Coding จริงๆ กันได้เลย

เทคโนโลยี และภาษา Programming

นี่คือสิ่งที่คุณกำลังรอคอยคือ การเลือกว่า จะใช้ภาษา programming หรือ Framework ไหนดี เพื่อการพัฒนาส่วนของ Backend โดย Backend Technologies ซึ่งที่เป็นพื้นฐานหรือแบบ Classic เลย คือ “LAMP” ซึ่งมาจาก Linux (Operating System), Apache (Server), MySQL (Database), PHP (Server-Side Language) แต่อย่างไรก็ตามก็มี Backend Technologies ที่ทันสมัยกว่าเกิดขึ้นมาเรื่อยๆ เพราะใช้งานง่ายกว่าและมีประสิทธิภาพกว่า ต่อไปเรามาพูดกันถึงเรื่อง Framework ที่ใช้กับ 2 ภาษาที่ Popular อยู่คือ Python และ JavaScript กัน

เริ่มกันที่ Flask เป็น Backend Framework ที่เป็นที่นิยมและเขียนขึ้นมาสำหรับ Python อีก Framework หนึ่งที่รู้จักกันดีคือ Django ส่วนภาษาที่คุณ Ajmal ใช้ (และ Recommend ให้ใช้) สำหรับพัฒนา Backend คือ JavaScript โดย Framework ที่พูดถึงกันเป็นส่วนใหญ่ใน Web Development Community ก็คือ NodeJS นั่นเอง ซึ่ง NodeJS เป็น JavaScript Server-side Framework ที่สร้างบน Chrome V8 Engine สาเหตุที่เขาแนะนำให้ใช้ NodeJS มากกว่า Framework อื่นๆ ก็เพราะ เมื่อ JavaScript ถูกใช้บน Client-side คุณจะใช้แค่เพียงภาษาเดียวในการทำทุกอย่างที่เกี่ยวกับ Application (สมมติคุณสร้าง Web App) ทำให้คุณไม่ต้องใช้หรือต้องมานั่งเรียนรู้หลายภาษา โดยเฉพาะถ้าคุณกำลังหันมาพัฒนา Backend โดยที่มีประสบการณ์การพัฒนา Frontend มาก่อนแล้ว

ขั้นตอนถัดไป มาเรียนรู้เกี่ยวกับ Database กัน ถ้าหากคุณกำลังคิดจะเลือก NodeJS อยู่ละก็ มีตัวเลือกที่มักใช้กันคือ MongoDB ซึ่งเป็น NoSQL databases ที่เป็นนิยมมากที่สุดตัวหนึ่ง และเมื่อคุณตัดสินใจว่า จะเลือกใช้ Framework และ Database ใดแล้ว มีเรื่องที่คุณควรคิดต่อเช่นกันในฐานะของ Developer คนหนึ่งคือ

  • Git และ GitHub for Version Control
  • การใช้ Service Platform สำหรับ Database (เช่น Mlab สำหรับ MongoDB)
  • การใช้ Service Platform สำหรับ Server (เช่น Heroku, Digital Ocean, Amazon Web Services)

ลงมือทำ

หากคุณมีไอเดียคร่าวๆ แล้วว่าจะทำอะไร และอยากเรียนรู้อะไร ก็มีช่องทางให้คุณได้เรียนรู้มากมายทั้ง Blogs, Vlogs, Tutorials, Videos, Courses ต่างๆ มากมายในอินเตอร์เน็ต คุณก็เพียงเลือกช่องทางที่คุณถนัดเท่านั้นเอง แต่มีสิ่งหนึ่งที่ดูจะเหมาะสมสำหรับทุกคนคือ การเรียนรู้จากการทำจริงๆ หรือ Learn by Doing ลองเริ่มจาก Project เล็กๆ ก่อน ถ้าคุณไม่ลอง Coding เลย คุณจะไม่มีทางจับสาระสำคัญของสิ่งที่เรียนรู้ได้เลย มีอีกเทคนิคเพิ่มเติมคือ การเรียนรู้จาก Code ของคนอื่นๆ คุณจะได้เห็นเทคนิคและ Solution ที่แตกต่างไป เผลอๆ อาจเป็นสิ่งเดียวกับที่คุณเจอด้วยซ้ำ ขอแนะนำให้คุณลองเข้าไปใน Github ดูสิ จะมีตัวอยากที่หลากหลายมากๆ

ขั้นตอนถัดไป

เมื่อคุณได้เรียนรู้พื้นฐายของการพัฒนา Backend และได้ลองทำ Project ไปบ้างแล้ว ตอนนี้คุณจะมีทางเลือกมากมายเลยล่ะ บางทีคุณอาจจะหันไปเรียนรู้ Frontend ด้วย เพื่อจะได้เป็น Full-Stack Developer ซึ่งคุณสามารถทำได้ทั้งส่วนของ Frontend และ Backend ใน App หรือ Website ได้เลยทั้งหมด โดยในปัจจุบันก็เป็นที่ต้องการของตลาดมาก จากนั้นถ้าอยากพัฒนาตัวเองขึ้นอีกคุณก็ลองเรียนรู้ Framework อย่าง Ionic ซึ่งช่วยให้คุณสร้าง App แบบข้าม Platform โดยใช้ HTML, CSS และ JavaScript สำหรับคุณ Ajmal เอง เขาเลือกใช้ Framework ที่ชื่อว่า MeteorJS ในการพัฒนา Application แบบข้าม Platform ที่เป็น Full Stack ซึ่งมันเป็นตัวเลือกที่ดีหากคุณอยากพัฒนา Web และ App แบบข้าม Platform และหวังว่าบทความนี้น่าจะให้แนวทางที่ดีให้ผู้ที่สนใจงานพัฒนา Backend นะครับ

ที่มา : https://codeburst.io/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง