Android Kotlin 101: Kiến thức cơ bản
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 có khả năng chạy trên nhiều Platform: Android, iOS, Web (Web asm), Windows Desktop, Ubuntu, Mac, Backend (JVM) → https://www.jetbrains.com/kotlin-multiplatform/
- Kotlin còn có khả năng được sử dụng trong Data Analysis → https://kotlinlang.org/docs/data-analysis-overview.html
Tính năng hữu ích của Kotlin
Mutable and Immutable
- 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
- 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
- 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
- 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 <xem ví dụ>. 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
- 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 đó <xem ví dụ>
Toán tử
- 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 <xem ví dụ>
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
Chúc các bạn thành công!