Bài 1. Giới thiệu Vert.X lập trình Java Backend

Vì nhiều học viên đề nghị Tui làm khóa học về Java Backend, nhưng vì chưa sắp xếp được thời gian để quay chi tiết Video khóa học về nó. Nên Tui tạo chuỗi các bài blog về Java Back End, trong này Tui sẽ trình bày một ít lý thuyết và các kỹ thuật để giúp các bạn có thể làm hoàn chỉnh Java Backend bằng VERT.X cho một hệ thống nào đó. Sắp tới Tui sẽ quay khóa học về nó nếu sắp xếp được thời gian.

Trước tiên Ta đi vào một số lý thuyết cơ bản (mấy cái này có đầy rẫy trên mạng, Tui chỉ tóm lược lại cho các bạn đỡ chết đuối vì quá nhiều thông tin).

1. BackEnd là gì?

Back End dùng để xử lý mọi logic nghiệp vụ phức tạp ở ẩn ở phía sau, giúp cho hệ thống hoạt động trơn tru. Dữ liệu của người dùng, thuật toán phân ích … đều nằm ở back-end.

2. Tại sao phải lập trình BackEnd?

  • BackEnd viết phía Server nên thường được hệ thống máy chủ xử lý nhanh chóng mà mạnh mẽ
  • Chia sẻ nguồn tài nguyên máy chủ
  • Giúp chạy đa nền tảng khi triển khai Web API

3. Ngôn ngữ, cơ sở dữ liệu, cộng cụ để viết BackEnd

  • Hiện nay rất nhiều ngôn ngữ lập trình có khả năng giúp chúng ta xử lý phía Back End. Chúng tạo nên một hệ Sinh thái Backend vô cùng phong phú.
  • Việc nắm được các kỹ thuật xử lý BackEnd theo các ngôn ngữ khác nhau giúp chúng ta dễ dàng thích ứng trong công việc cũng như có nhiều lựa chọn trong quá trình xử lý kỹ thuật phức tạp.
  • Tui liệt kê 7 ngôn ngữ có thể giúp chúng ta triển khai BackEnd dễ dàng:
    • PHP
    • Python
    • Ruby
    • C#
    • Node.js
    • Java
    • RxJava
  • Các cơ sở dữ liệu quan hệ cần quan tâm: Oracle, Microsoft SQL Server, Mysql…
  • Các cơ sở dữ liệu NoSQL: MongoDB, PostgreSql, ReThinkDB, Neo4j…

Cơ sở dư liệu trong chuỗi các Blog này sẽ sử dụng MongoDB, một trong những NoSQL phổ biến nhất hiện nay.

Ta lập trình Java BackEnd nên bước đầu tiên bạn phải có kiến thức về OOP Java trước, có thể tham khảo khóa học bằng Video này ở đây

Có rất nhiều công cụ lập trình Java BackEnd, chẳng hạn như:

  • Eclipse
  • Netbeans
  • IntelliJ IDEA (để lập trình Java BackEnd)
  • PostMan (để test API)

Blog sẽ sử dụng IntelliJ IDEA .

Như vậy mọi người cần cài các phần mềm sau vào máy:

  1. Java JDK
  2. IntelliJ IDEA
  3. PostMan
  4. MongoDB

Chuỗi Blog sẽ tập trung vào Vert.X java để viết Backend, các bước cài đặt người học tự làm.

4. Vert.x framework

4. 1. Giới thiệu Vertx

Vert.X là một Framework, hỗ trợ rất nhiều ngôn ngữ như Java, RxJava, Kotlin, Javascript, Groovy, Ruby, Ceylon, Scala. Có rất nhiều loại component trên Vert.X ta có thể sử dụng và tùy biến dễ dàng.

Mọi tài nguyên học liệu, mã nguồn, thư viện, hướng dẫn sử dụng đều nằm trên trang https://vertx.io

Vert.X – Ta có thể dễ dàng dựng và dùng bất kì component hoặc library nào mà ta muốn.

Vert.X chạy trên JVM – Java Virtual Machine – cho phép bạn test code và scale tức thì. Nên cần cài đặt JDK trước.

Vert.X hỗ trợ rất nhiều chủng loại lập trình khác nhau, trong đó hỗ trợ lập trình Back End viết các API cực tốt. Còn hỗ trợ mở rộng xây dựng các ứng dụng MicroService.

Vert.X – được rất nhiều hãng công nghệ lớn trên thế giới đang sử dụng:

4. 2. Cách nhúng thư viện Vertx vào ứng dụng

Để nhúng Vert.X ta thêm dòng lệnh sau vào nhóm depencies trong tập tin build.gradle:

dependencies {
compile ‘io.vertx:vertx-web:3.9.4’
}

3.9.4 là phiên bản mới nhất tính tới ngày 30/11/2020

Ta có thể xem chi tiết tại đây: https://vertx.io/docs/vertx-web/java/

Bài học sau Tui sẽ trình bày chi tiết cách thức sử dụng Vert.X trong IntelliJ IDEA.

Chúc các bạn thành công

Bài 1- BackEnd là gì? Tại sao phải lập trình BackEnd

Theo thông tin từ Marketing thì hiện nay nhu cầu tuyển dụng lập trình viên BackEnd đang ngày càng mở rộng, đặc biệt là Java BackEnd, kết hợp với Microservice.

Vì vậy Tui làm chuỗi các bài hướng dẫn trên blog này cũng như sẽ sớm ra mắt khóa học bằng Video trên http://communityuni.com, hi vọng sẽ tạo thêm được nhiều cơ hội việc làm cho người học.

Chuỗi các bài hướng dẫn này sẽ tập trung vào:

  • Giới thiệu về lập trình BackEnd, JavaBackEnd và những JDK, công cụ hỗ trợ
  • Thư viện Vertx, một trong những thư viện được đánh giá là tốt nhất hiện này để triển khai BackEnd, đặc biệt hỗ trợ đắc lực cho MicroService
  • NoSQL và hệ sinh thái, trong đó tập trung chính yếu vào MongoDB
  • Cách triển khai JavaBackEnd với NoSQL
  • Cải tiến JavaBackEnd với Annotation
  • Authentication và Authorisation trong Java BackEnd
  • Cách Deploy JavaBackend

Các kiến thức trên sẽ lần lượt được làm rõ ở các bài viết tiếp theo.

Còn ở bài này Tui sẽ trình bày BackEnd, lý do vì sao lập trình BackEnd mà cụ thể là JavaBackEnd, cũng như hệ sinh thái của BackEnd, các thư viện và công cụ cần cài đặt

Các lý thuyết về BackEnd các bạn có thể tìm hiểu trên mạng, các Website đã giải thích khá chi tiết và về cơ bản thì nó giống nhau (vì là cơ sở lý thuyết). Tui tóm tắt lại như sau (Biết rồi thì khỏi đọc, đỡ hư chuột):

1. BackEnd là gì?

Back End dùng để xử lý mọi logic nghiệp vụ phức tạp ở ẩn ở phía sau, giúp cho hệ thống hoạt động hiệu quả hơn. Dữ liệu của người dùng, thuật toán phân tích … đều nằm ở back-end.

2.Tại sao phải lập trình BackEnd?

Có rất nhiều lý do khác nhau, mỗi một Công ty, tộc trưởng trong nhóm phát triển dự án sẽ có như lý do riêng để giải thích cho vấn đề này. Tuy nhiên đại khái nó như sau:

  • BackEnd viết phía Server nên thường được hệ thống máy chủ xử lý nhanh chóng và mạnh mẽ, client chỉ cần nhận kết quả
  • Chia sẻ nguồn tài nguyên máy chủ nên tiết kiệm được nhiều thứ
  • Giúp chạy đa nền tảng khi triển khai Web API: Viết 1 lần thôi nhưng có thể sử dụng trên bất kỳ nền tảng nào. Ví dụ khi ta viết Web API xong thì ta có thể dùng Mobile, Desktop, Web hay bất kỳ 1 nền tảng nào khác đều có thể sử dụng chung cái Web API đó.

3.Hệ sinh thái BackEnd

Hiện nay rất nhiều ngôn ngữ lập trình có khả năng giúp chúng ta xử lý phía Back End. Chúng tạo nên một hệ Sinh thái Backend vô cùng phong phú.
Việc nắm được các kỹ thuật xử lý BackEnd theo các ngôn ngữ khác nhau giúp chúng ta dễ dàng thích ứng trong công việc cũng như có nhiều lựa chọn trong quá trình xử lý kỹ thuật phức tạp.
Tui liệt kê 7 ngôn ngữ có thể giúp chúng ta triển khai BackEnd dễ dàng:

  • PHP
  • Python
  • Ruby
  • C#
  • Node.js
  • Java
  • RxJava

Cùng với nó là các Cơ sở dữ liệu đi kèm, chẳng hạn như:

  • Các cơ sở dữ liệu quan hệ cần quan tâm: Oracle, Microsoft SQL Server, Mysql…
  • Các cơ sở dữ liệu NoSQL: MongoDB, PostgreSql, ReThinkDB, Neo4j…

Các bài học Tui sẽ sử dụng MongoDB, một trong những NoSQL phổ biến nhất hiện nay.

4. Thư viện và công cụ lập trình cần cài đặt để làm việc với JavaBackEnd

Ta lập trình Java BackEnd nên bước đầu tiên bắt buộc phải cài đặt JDK , sẽ được hướng dẫn chi tiết ở bài học sau

Có rất nhiều công cụ lập trình Java BackEnd, chẳng hạn như:

  • Eclipse
  • Netbeans
  • IntelliJ IDEA

Các bài học sẽ sử dụng IntelliJ IDEA và được hướng dẫn chi tiết ở các bài học sau

Như vậy ta cần cài: JDK + IntelliJ IDEA

Hẹn gặp lại các bạn ở các bài hướng dẫn tiếp theo nhé!

Chúc các bạn thành công