Sinh viên muốn theo mảng Lập trình Java thì nên Học Java Ứng dụng hay là Học Lập trình Java Web?
Mình chắc chắn đây có thể là câu hỏi của của các bạn mới tiếp xúc với Lập trình. Đúng chứ?
Ok, dù bạn mới tiếp xúc với Lập trình hay mới tiếp xúc với ngôn ngữ Lập trình Java thì cho dù thế nào đi nữa.
=> Bạn đã đặt câu hỏi và mình có câu trả lời chính xác dành cho bạn.
Lập trình Java Ứng dụng hay Lập trình Java Web
Well, để chốt câu trả lời cuối cùng và cho bạn thấy hướng phát triển nào phù hợp với bạn thì chúng ta nên hiểu rõ:
1. Lập trình JAVA Ứng dụng là gì?
Lập trình Java Ứng dụng (hay Lập trình Java ứng dụng Desktop) là việc sử dụng ngôn ngữ Lập trình Java để tạo ra các ứng dụng Desktop.
Thông thường thì học Lập trình Java ứng dụng bạn sẽ đi theo các bước như sau, đầu tiên:
-
Học Lập trình Java Core
-
Học Lập trình Java Hướng đối tượng (OOP)
Khi đã có kiến thức căn bản về ngôn ngữ Lập trình Java thì bạn sẽ cần phải học cách sử dụng chúng để tạo ra các ứng dụng.
Ở bước này có hai hướng để bạn lựa chọn:
-
Học Lập trình Java ứng dụng bằng Swing (Java Swing)
-
hoặc Học Lập trình Java ứng dụng bằng SWT (Standard Widget Toolkit)
Như vậy thì cơ bản là bạn sẽ học: Java Core, OOP và chọn học dùng Java Swing hoặc SWT để có thể tạo ra các Ứng dụng Desktop.
Nhưng???
Học Lập trình Java ứng dụng thì chọn Swing hay SWT?
Swing là ứng dụng thuần Java (kế thừa từ AWT) và có thể chạy trên mọi hệ điều hành.
Sau khi lập trình bạn có thể thiết lập giao diện của nó giống như Windows, Mac Os hay là Linux mà không phụ thuộc vào việc nó chạy trên hệ điều hành nào.
Về cơ bản thì Swing ra đời là để kế thừa ưu điểm của AWT và khắc phục điểm yếu của AWT.
Tuy nhiên, có một điểm duy nhất đó là có những class của AWT không còn được sử dụng nhưng lại là các Class để Swing kế thừa => Swing bị đánh giá thấp.
SWT là một thư viện không được viết hoàn toàn bằng Java cũng có thể chạy trên nhiều hệ điều hành khác nhau. Khi chạy trên hệ điều hành nào thì nó sẽ tận dụng thư viện hoặc thành phần có sẵn trên hệ điều hành đó.
=> Phát triển Ứng dụng Desktop bằng SWT nhanh hơn Swing. (Nhanh hơn không đồng nghĩa với dễ học hơn đâu nhé)
Đó chỉ là vì SWT ra đời sau Swing nên nó có khắc phục điểm yếu của Swing.
Tuy nhiên, vì SWT không được viết hoàn toàn bằng Java và đường cong học tập lớn hơn Swing thì tôi không khuyến khích các bạn mới học chọn SWT.
Lời khuyên dựa trên kinh nghiệm cá nhân: Nếu bạn dễ dàng phát triển các ứng dụng Desktop thì nên chọn Java Swing còn muốn có hiệu suất tốt thì nên chọn SWT.
Còn tốt nhất thì học Java Swing trước và sau này khi có kinh nghiệm rồi thì tìm hiểu về SWT.
OK, đấy là đôi chút về hướng học Lập trình Java Ứng dụng.
Còn ...
2. Lập trình JAVA Web là gì?
Lập trình Java Web là việc sử dụng Ngôn ngữ Lập trình Java kết hợp với các công nghệ khác như HTML, CSS, Javascript ... để tạo ra các trang Web, Ứng dụng Web.
Để theo con đường Lập trình Java Web thì bạn sẽ đi theo lộ trình như sau:
-
Học Lập trình Java Core
-
Học Lập trình Java Hướng đối tượng (OOP)
* Phần này cũng giống như Học Lập trình Java Ứng dụng.
Tiếp theo để làm Web bằng Java thì bạn cần phải học thêm một số thứ khác như:
-
Học phát triển Front - end: Sử dụng HTML, CSS, JS ...
Lưu ý!
Có 2 quan điểm trong học Lập trình Java Web. Quan điểm đầu ủng hộ việc học Front end trước, Quan điểm thứ 2 lại ủng hộ việc học Java trước. Đọc thêm tại đường dẫn ở trên.
Phần Front end này các bạn cũng cần học thêm một số thứ để tăng tốc độ phát triển front-end như: jquery, bootstrap
Và học thao tác với cơ sở dữ liệu sử dụng: MySQL/SQL, JDBC (Dù là ai thì cũng cần Học SQL)
Tiếp đến là,
-
Học phát triển Back - end: Sử dụng JSP / Servlet
Nâng cao hơn thì bạn có thể học cách sử dụng các Java Web Framework nâng cao để phục vụ phát triển web như:
-
JSF
-
Spring
-
Hibernate
-
Maven
Nhìn sơ qua hướng Lập trình Java Web có khá nhiều thứ phải học hơn Lập trình Java Ứng dụng đúng không? :D
-
Nhưng yên tâm! Khóa học Java Full stack trong hơn 4 tháng này sẽ giúp bạn tăng tốc học tập, nhanh chóng có thể làm việc với Java.
Vậy Chốt Nên chọn Học Lập trình Java Ứng dụng hay Học Lập trình Java Web?
Trước tiên, để hình dung lại một lần nữa rõ hơn về con đường phát triển theo hướng Java Ứng dụng và Java Web thì mình có sơ đồ sau:
Sơ đồ hướng Lập trình Java Ứng dụng và Lập trình Java Web
Nhìn vào sơ đồ thì có vẻ Java Web bạn cần học nhiều thứ hơn là học Java Swing. Tuy nhiên đừng nhầm tưởng rằng chọn Java Swing là bạn sẽ cần phải học ít hơn.
Và đừng so sánh độ khó / dễ của hai hướng phát triển này. Nếu muốn dễ học dễ ăn, tốt nhất là bạn không nên học Lập trình làm gì.
Và vì bản chất hai hướng Lập trình Java này khác nhau nên rất khó so sánh chính xác. Mỗi hướng có những cái khó khác nhau.
Điều quan trọng là bạn mong muốn đi theo hướng nào trong ngắn hạn.
Trong dài hạn thì mình khuyên bạn nên tìm hiểu cả 2 để có thể phát triển sự nghiệp của mình cao hơn sau đó tiếp tục tập trung thật sâu vào 1 hướng.
Một lưu ý:
-
Mọi doanh nghiệp đều cần có Website riêng nhưng không phải tất cả Doanh nghiệp đều cần có Ứng dụng Desktop riêng.
-
Doanh nghiệp cần làm ứng dụng Desktop thường là Doanh nghiệp lớn.
Ở đây bạn hiểu ý mình chứ?
Tóm lại
Nếu bạn muốn làm Web thì học Lập trình Java theo hướng Java Web.
Nếu bạn muốn làm Ứng dụng Desktop thì học Lập trình Java theo hướng Java Ứng dụng.
Nếu bạn muốn phát triển sự nghiệp Lập trình viên Java của mình xa hơn thì cần biết cả Lập trình Ứng dụng Java và Lập trình Java Web.
Tuy nhiên, Chuyên sâu về hướng Java Web hoặc chuyên sâu về hướng Java ứng dụng đều là một con đường phát triển không giới hạn.
PS: Cuối cùng thì lựa chọn học gì là ở bạn. :D
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php