[Android] Ktor _ Một hướng đi mới cho lập trình service mobile app

[Android] Ktor _ Một hướng đi mới cho lập trình service mobile app

1.GIỚI THIỆU.

Như chúng ta đã biết, Kotlin là một ngôn ngữ được cải tiến từ Java, được ra đời với mục đính chủ yếu  để lập trình mobile android app. Với nhưng ưu điểm như cú pháp ngắn gọn, hạn chế được lỗi nullpointerexception.....

Với những ưu điểm kể trên của Kotlin, các nhà phát triển của JetBrains đã xây dựng và phát triển framework Ktor nhằm mở rộng ứng dụng của kotlin sang mảng lập trình backend.

Về cơ bản, Ktor là 1 framework tương đối nhẹ cho phép các developer xây dựng các web server , web applications, HTTP services, browser applications, API...với các tính năng cần có như authentication, sessions, routing, web templates, JSON wrapping... Các ứng dụng được hiện đại cần phải xử lý bất  đồng bộ để cung cấp trải nghiệm tốt nhất cho người dùng và Kotlin coroutines cung cấp các tiện ích tuyệt vời để thực hiện điều đó một cách dễ dàng và đơn giản. Mục tiêu của Ktor là cung cấp một khuôn khổ đa định dạng end-to-end cho các ứng dụng được kết nối.

2. Hướng dẫn dùng Ktor tạo API cho mobile app.

2.1 Các công cụ cần thiết.

  • IDE intellij phiên bản Utilmate:
  • Xampp :  giả lập server hosting.
  • Kotlin 1.3 trở lên.
  • Ktor plugin.
  • Postman.
  • Ktorm: thư viện giúp tương tác với database.

2.2 Các bước tiến hành.

2.2.1 Khởi tạo project.

Đầu tiên chúng ta khởi chạy IntelliJ. Ở màn hình Welcome, chúng ta chọn Create New Project từ danh sách menu. Kế tiếp ở danh sách menu bên trái ta chọn Ktor và thiết lập các tính năng như hình:

Cụ thể:

  • Build system: Gradle Kotlin.
  • Ktor version: mặc định ( có thể tùy chỉnh theo mong muốn).
  • Engine: Tomcat.
  • Configuration in: Code.

Nhấn Next, Chọn các plugin muốn dùng:

Nhấn Create để hoàn thành.

2.2.2 Tạo các folder .

Tạo các folder như hình :

  • model: thư mục chứa các file model để lưu dữ liệu lấy từ database
  • mysql: thư mục chứa các file entity mô phỏng các table trong mysql.
  • plugins: thư mục chứa các file setting controller.
  • route: thư mục chứa các file controller thực hiện việc nhận request từ client, thao tác dữ liệu với database.
  • util: thư mục chứa các file lưu trữ trạng thái trả về của api.

2.2.3 Tạo các file thành phần.

  • Application.kt:  chứa hàm main để chạy project, cấu hình server, cổng port , hosting.
  • User.kt :  lưu và lấy data.
  • DBConnection.kt: kết nối với mysql database.
  • EntityUser.kt: mô phỏng các table trong database.
  • RouteUser: định nghĩa cấu trúc api

phương thức GET: lấy dữ liệu từ database

phương thức POST: tạo và lưu dữ liệu vào database

Phương thức Put: sửa dữ liệu

Phương thức DELETE: xóa dữ liệu

2.2.4 Chạy Xampp và thiết kế database.

Chạy xampp, nhấn  2 mục là Apache và MySQL.

Tạo database và table:

2.2.5 Dùng Postman test các api đã tạo.