Front End และ Back End คืออะไร ต่างกันอย่างไร

Front end คือ,Back ends คือ,User interface,CSS,Javascript,NodeJS

ครั้ง

เครดิตภาพ  http://cdn.wonderfulengineering.com/wp-content/uploads/2014/05/laptop-wallpaper-5.jpg

Front ends

 เรียกกันง่าย ๆ ว่าหน้าบ้าน ซึ่งความหมายก็ตรงตัวจริง ๆ ครับ
 Front ends คือส่วนติดต่อผู้ใช้ (User interface) การแสดงผลต่าง ๆ ภาพแบนเนอร์ เนื้อหา เรื่องราว
 หากมอง thatsay.com ก็ประกอบด้วย

-ส่วนติดต่อก็คือลิงค์ต่าง ๆ ที่ผู้ใช้งานคลิก 

-หน้าจอสำหรับสร้างเรื่องราว(story) ใหม่ ๆ

ในมุมของการพัฒนาเว็บไซต์ก็จะประกอบด้วยหลาย ๆ ภาษาสคริปต์ หรือ มาร์คอัพ เช่น


HTML,HTML5,CSS,Javascript,JSON data,ไฟล์รูปภาพ(.jpg,.png,.gif)

หรือภาษาคอมพิวเตอร์ (ฝั่ง Server)

 ก็เขียน Front End ได้เช่นกัน ที่นิยมก็เช่น PHP,C#,JAVA,VB.NET ก็สามารถแสดงผลได้เช่นกัน (แต่กลุ่มนี้ก็ควบคุมฝั่ง Back Ends ได้ด้วย)
คนที่ทำงานด้าน Front ends ก็ควรจำเป็นต้องมีทักษะด้านนี้ ตัวอย่างตำแหน่งงานที่ตรงกับด้านนี้
1.Graphic Designer
2.Web Designer
3.Web Developer/Front end Developer (Javascript,CSS,HTML5,JQuery,AngularJS)
ล่าสุด มี Javascrpt Framework  ที่กำลังได้รับความนิยม อย่าง AngularJS ที่มีจุดเด่นด้าน MVC  ก็ถึอว่าเป็น Front End เช่นกัน

Back Ends

 เรียกติดปากในหมู่นักพัฒนาระบบ(Developer) นักเขียนโปรแกรม (Programmer)ว่า หลังบ้าน
คือส่วนจัดการกับข้อมูล 
-หากมองในมุมการเขียนโปรแกรม ก็คือ ฐานข้อมูล(Database) นั่นเอง

-ซึ่ง Database ก็ขึ้นอยู่กับนักพัฒนาเองว่า จะเก็บอะไรบ้าง เช่น ข้อมูลสมาชิก(Members) ข้อมูลสินค้า(Products) ข้อมูลการสั่งซื้อ(Order)

เครดิตภาพ http://cdn3.free-power-point-templates.com/articles/wp-content/uploads/2012/05/cloud-computing.jpg
นอกจาก Database แล้วยังรวมไปถึงการจัดการไฟล์ข้อมูลต่าง ๆ ไม่ว่าจะเป็น XML,Text File รวมไปถึง Cloud Storage ด้วย ซึ่ง Cloud กำลังเริ่มได้รับความสนใจมากขึ้นเรื่อย ๆ 

และคำถามคือ แล้วส่วนไหนสำคัญกว่ากัน ?
คำตอบต้องขึ้นอยู่กับตัวระบบ หรือเว็บไซต์ที่พัฒนามากกว่า หากเน้นเก็บข้อมูลไม่เยอะ และ แสดงผลโดยใช้ไฟล์ Html มากกว่า ความสำคัญก็จะตกอยู่กับ Front ends เพราะ Design ให้ออกมาสวยและถูกใจคนเข้าชม
แต่หากข้อมูลระดับเยอะ ๆ เช่นมากกว่า 1 แสนรายการ (มองระดับ record ของ Database) ความยากก็จะตกอยู่กับฝั่งหลังบ้าน ว่าจะจัดการข้อมูลเหล่านี้อย่างไร ที่ไม่ทำให้ระบบช้าลง ในการแสดงผล
นอกจาก Database คือส่วนเก็บข้อมูลแล้วจะต้องมีภาษาที่ใช้ควบคุมด้วย เช่น C++,JAVA,C#,PHP เป็นต้น (สังเกตว่าบางตัวก็จะอยู่ใน Front ends ได้ด้วย)
ปัจจุบัน ได้มีเทคโนโลยีที่จะว่าใหม่สำหรับหลาย ๆ คน(แต่บางคนก็ไม่ใหม่) อย่าง

Node.js

ได้เข้ามาช่วยให้พัฒนาฝั่ง Back Ends (Server side) ซึ่งจุดเด่น คือ เทคโนโลยีที่เรียกว่า Non – Blocking I/O และสามารถเขียน Real lime applications ได้อย่างมีประสิทธิภาพ
แนะนำเทคโนโลยีที่น่าศึกษาช่วงนี้ (2559) 1.React.js 2.ionic framework 3.Angularjs 4.laravel

ช่องของเรา