Published on

Kotlin - Ngôn Ngữ Lập Trình Hiện Đại Cho Android và Đa Nền Tảng

Authors

Giới Thiệu

Kotlin là ngôn ngữ lập trình hiện đại được công bố lần đầu vào năm 2011. Version stable đầu tiên của Kotlin được release năm 2016. Kotlin chính thức được Google công nhận trở thành ngôn ngữ lập trình Android vào năm 2019.

Những ứng dụng của Kotlin trong thế giới lập trình

  • Kotlin là ngôn ngữ chính trong phát triển ứng dụng di động Android

    • Vì sao chỉ có ứng dụng di động Android? Bởi vì các dự án AOSP vẫn còn dùng Java rất nhiều. Đồng thời các thư viện View, Activity, Fragment … của Android Core vẫn đang được maintain bằng ngôn ngữ Java.
  • Kotlin là ngôn ngữ có khả năng compile được trên nhiều Platform: Android, iOS, Web (Web asm), Windows Desktop, Ubuntu, Mac, Backend (JVM) → Kotlin Multiplatform

  • Kotlin còn có khả năng được sử dụng trong Data AnalysisKotlin for Data Analysis

Tính năng hữu ích của Kotlin

  • Mutable and Immutable → Là kiểu dữ liệu để xác định một biến có thể thay đổi giá trị reference của 1 biến hay không (Cần check lại document chỗ này).

    • Để khai báo 1 biến Immutable ta dùng từ khóa val
    • Để khai báo 1 biến Mutable ta dùng từ khóa var
    • Lưu ý, một val MutableList tuy không thể gán giá trị mới nhưng vẫn có thể thay đổi các elements bên trong chúng. Để chắc chắn List của bạn không thể thay đổi trong suốt quá trình thực thi chương trình, bạn có thể sử dụng kiểu dữ liệu List
  • Null safety → Để quyết định 1 biến là Non-Null hay Nullable ta xác định kiểu của nó ngay từ đầu lúc khai báo trong class, hoặc function bằng toán tử ?.

  • late init var → là hình thức khai báo một biến sử dụng từ khóa var, nhưng giá trị khởi tạo của nó chưa được biết trước. Giá trị khởi tạo sẽ được tạo ra qua 1 phép gán ở 1 thời điểm khác của chương trình đang chạy. Nếu biến được truy cập trước khi khai báo giá trị, chương trình sẽ gặp Exception, và có khả năng lỗi gây ra crash.

    • Lưu ý: biến được khai báo late init var phải là non nullable
  • by lazy val → là hình thức khai báo một biến sử dụng từ khóa val, giá trị khởi tạo của by lazy tuy chưa được biết trước nhưng cách khởi tạo đã được định nghĩa trong hàm đi kèm. Khi lần đầu tiên truy cập đến giá trị của biến được khai báo bằng by lazy val, hàm đi kèm sẽ được thực thi 1 lần duy nhất và trả về giá trị của biến. Kể từ lần gọi thứ 2 trở đi, biến sẽ truy cập trực tiếp đến giá trị này mà không phải thực thi lại hàm đi kèm.

  • Extension function → Đây là 1 tính năng hữu ích của Kotlin. Giúp lập trình viên viết ra những hàm mở rộng cho 1 kiểu dữ liệu có sẵn mà không cần trực tiếp mở rộng (extends) kiểu dữ liệu đó.

// Ví dụ Extension function
fun String.removeSpaces(): String {
    return this.replace(" ", "")
}

// Sử dụng
val text = "Hello World"
val result = text.removeSpaces() // "HelloWorld"
  • Toán tử !! → Toán tử này dùng để ép kiểu một biến nullable thành non-nullable. Để sử dụng người lập trình viên cần hết sức cẩn thận để tránh các trường hợp crash chương trình không mong muốn.

  • Toán tử ?: → Đây là 1 toán tử điều kiện, thường được sử dụng để lấy giá trị fallback của 1 biến nullable.

// Ví dụ Elvis operator
val result = nullableValue ?: "default value"

Tương lai sự nghiệp với Kotlin

Kotlin là một ngôn ngữ đa dụng, việc thành thạo Kotlin sẽ tăng độ linh hoạt cho sự nghiệp của bạn trong tương lai.

  • Trở thành Android Software Engineer
  • Trở thành Backend Engineer
  • FullStack Software Engineer

Kết luận

Kotlin không chỉ là ngôn ngữ lập trình chính thức cho Android mà còn là một công cụ mạnh mẽ cho phát triển đa nền tảng. Với các tính năng hiện đại như null safety, extension functions và khả năng tương tác tốt với Java, Kotlin đang trở thành lựa chọn hàng đầu cho nhiều nhà phát triển.


Bài viết này giới thiệu những khái niệm cơ bản về Kotlin. Để tìm hiểu sâu hơn, bạn có thể tham khảo tài liệu chính thức của Kotlin.