Java คือ ตอนที่ 10 : ไลบรารี (Libraries) และเฟรมเวิร์ก (Frameworks)

  1. ไลบรารี (Libraries): กล่องเครื่องมือ (Toolbox) สำหรับการทำแอพ
  2. เฟรมเวิร์ก (Frameworks): โครงสร้างการทำแอพของคุณ
    Spring Framework
  3. การทำแอพด้วย Spring Boot

Java ซึ่งเป็นภาษาการเขียนโปรแกรมเชิงวัตถุ (object-oriented programming) ที่มีประสิทธิภาพ ถูกนำมาใช้อย่างแพร่หลายในการทำแอพระดับองค์กร เว็บแอปพลิเคชัน ทำแอพมือถือ และแม้แต่เกม สาเหตุหลักประการหนึ่งที่ทำให้ได้รับความนิยมอย่างล้นหลามและการใช้งานอย่างแพร่หลายคือการรวบรวมไลบรารีและเฟรมเวิร์กจำนวนมาก ไลบรารี Java มีโค้ดที่เขียนไว้ล่วงหน้าเพื่อทำงานทั่วไป เร่งกระบวนการพัฒนา ในทำนองเดียวกัน เฟรมเวิร์กจัดเตรียมชุดแนวทางหรือกฎที่ต้องปฏิบัติตามเมื่อทำแอพ

ในบทความนี้ เราจะเจาะลึกโลกของไลบรารีและเฟรมเวิร์กของ Java โดยมุ่งเน้นที่วิธีที่พวกมันสามารถลดความซับซ้อนของงานในการทำแอพ

1. ไลบรารี (Libraries): กล่องเครื่องมือ (Toolbox) สำหรับการทำแอพ

ไลบรารี Java คือชุดของคลาสหรือเมธอด Java ที่เขียนไว้ล่วงหน้า ซึ่งคุณสามารถใช้ในการทำแอพของคุณเพื่อหลีกเลี่ยง “reinventing the wheel” โดยทั่วไปแล้วแต่ละไลบรารีจะมุ่งเน้นไปที่งานเฉพาะหรือชุดของงานที่เกี่ยวข้อง ตัวอย่างเช่น Standard Edition (SE) API ของ Java ซึ่งเป็นไลบรารีขนาดใหญ่ที่มีหลายแพ็กเกจ ครอบคลุมทุกอย่างตั้งแต่โครงสร้างข้อมูลพื้นฐานไปจนถึงฟังก์ชันอินเทอร์เฟซกราฟิกที่ซับซ้อน

ไลบรารี (Libraries) ยอดนิยมอื่น ๆ ได้แก่ :

  • Java Database Connectivity (JDBC) : ไลบรารีที่สำคัญสำหรับการเข้าถึงข้อมูลในฐานข้อมูล SQL JDBC ทำหน้าที่เป็นคนกลางระหว่างแอปพลิเคชัน Java และฐานข้อมูล อำนวยความสะดวกในการแลกเปลี่ยนข้อมูล
  • JavaFX : ไลบรารีที่ยอดเยี่ยมสำหรับการพัฒนาแอปพลิเคชันเดสก์ท็อปด้วยอินเทอร์เฟซผู้ใช้แบบกราฟิกที่ซับซ้อน JavaFX รองรับ CSS, กราฟิก SVG, กราฟิก 3 มิติ และอื่นๆ อีกมากมาย

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

2. เฟรมเวิร์ก (Frameworks): โครงสร้างการทำแอพของคุณ

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

Spring Framework

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

  • Spring Core : กระดูกสันหลังของ Spring Framework ที่มีการผกผันของการควบคุม (IoC) และการฉีดขึ้นต่อกัน (DI) เทคนิคเหล่านี้ช่วยอำนวยความสะดวกในการจัดการออบเจกต์อย่างมีประสิทธิภาพและปรับปรุงการแยกโค้ด ทำให้จัดการและทดสอบโค้ดของคุณได้ง่ายขึ้น
  • Spring MVC : โมดูลสำหรับสร้างเว็บแอปพลิเคชันตามรูปแบบการออกแบบ Model-View-Controller การแยกข้อกังวลนี้นำไปสู่แอปพลิเคชันที่สามารถจัดการและปรับขนาดได้มากขึ้น
  • Spring Boot : ส่วนเสริมของ Spring Framework ที่ทำให้การตั้งค่าและการใช้งานง่ายขึ้น มีการกำหนดค่าอัตโนมัติ ซึ่งหมายความว่าจะพยายามกำหนดค่าแอปพลิเคชันของคุณโดยอัตโนมัติตามการอ้างอิงที่มีให้ สิ่งนี้ช่วยเร่งกระบวนการพัฒนาและลดโค้ดต้นแบบลงได้อย่างมาก
  • Spring Data JPA : ลดความซับซ้อนของกระบวนการทำงานกับฐานข้อมูลเชิงสัมพันธ์โดยนำเสนอวิธีที่ง่ายกว่าในการใช้รูปแบบพื้นที่เก็บข้อมูลและกำจัดโค้ดสำเร็จรูป
  • Spring Security : มอบคุณสมบัติความปลอดภัยที่แข็งแกร่งสำหรับแอปพลิเคชัน Java ของคุณ รวมถึงการรับรองความถูกต้อง การอนุญาต และการป้องกันการโจมตี เช่น การตรึงเซสชัน การคลิกแจ็ก และอื่นๆ

ลักษณะโมดูลาร์ของ Spring หมายความว่าคุณสามารถเลือกคอมโพเนนต์ที่จะใช้และเพิกเฉยได้ ทำให้มีความยืดหยุ่นอย่างมากในการจัดโครงสร้างแอปพลิเคชันของคุณ

3. การทำแอพด้วย Spring Boot

เพื่อแสดงให้เห็นว่าเฟรมเวิร์กเช่น Spring สามารถช่วยในการทำแอพได้อย่างไร เรามาสร้างเว็บแอปพลิเคชันอย่างง่ายกัน

ประการแรก เราต้องตั้งค่าสภาพแวดล้อมของเรา เราต้องการให้ติดตั้ง JDK และ Maven ในระบบของเรา หลังจากตั้งค่าสภาพแวดล้อมแล้ว เราสามารถใช้ Spring Initializr ซึ่งเป็นเครื่องมือบนเว็บที่นำเสนอโดย Spring เพื่อบูตแอปพลิเคชันของเราอย่างรวดเร็ว

ใน Spring Initializr เราเลือกการตั้งค่าที่ต้องการและเพิ่มการพึ่งพาที่เราต้องการ – สำหรับเว็บแอปธรรมดา เราจะเลือก ‘Spring Web’ หลังจากสร้างโปรเจกต์แล้ว เราสามารถนำเข้าสู่ IDE ของเราได้

คลาสแอปพลิเคชันหลักที่สร้างโดย Spring Initializr มีลักษณะดังนี้:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

คำอธิบายประกอบ @SpringBootApplication ทำเครื่องหมายว่าเป็นแอปพลิเคชัน Spring Boot และ SpringApplication.run() เริ่มแอปพลิเคชัน

เพื่อจัดการคำขอเว็บ เราสร้างตัวควบคุม นี่คือตัวอย่างของตัวควบคุมพื้นฐาน:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

	@GetMapping("/hello")
	public String hello() {
		return "Hello, World!";
	}
}

คำอธิบายประกอบ @RestController ทำเครื่องหมายคลาสนี้เป็นตัวควบคุม และ @GetMapping คำอธิบายประกอบจับคู่คำขอ HTTP GET บน “/hello” กับเมธอด hello()

เรียกใช้แอปพลิเคชันและไปที่ “localhost:8080/hello” ในเว็บเบราว์เซอร์ เราเห็นข้อความ “Hello, World!” แสดง นี่เป็นแอปพลิเคชั่นพื้นฐาน แต่แสดงให้เห็นว่า Spring Boot ทำให้การตั้งค่าง่ายขึ้นและการพัฒนาง่ายขึ้นอย่างไร


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


Java คืออะไร

Java คือ ตอนที่ 9 : File I/O และ Serialization
Java คือ ตอนที่ 11 : การทำงานพร้อมกัน (Concurrency)