Câu hỏi thường gặp về Kotlin trên Android

Tại sao Android đưa Kotlin trở thành ngôn ngữ hàng đầu được hỗ trợ?

Kotlin là một ngôn ngữ tương thích với Android, ngắn gọn, có tính biểu đạt và được thiết kế để đảm bảo an toàn với loại dữ liệu và giá trị rỗng. Kotlin hoạt động liền mạch với ngôn ngữ lập trình Java, qua đó không chỉ giúp các nhà phát triển yêu thích Java có thể dễ dàng tiếp tục sử dụng ngôn ngữ này, mà còn dần dần thêm mã Kotlin vào và tận dụng các thư viện của Kotlin. Ngoài ra, nhiều nhà phát triển Android nhận thấy rằng Kotlin giúp quá trình phát triển nhanh hơn và thú vị hơn. Vì vậy mà Google muốn cải thiện dịch vụ hỗ trợ cho những người dùng Kotlin này. Hãy đọc thêm về phương pháp tiếp cận ưu tiên sử dụng Kotlin của Android.

Làm cách nào để sử dụng Kotlin thông qua Android Studio?

Android Studio hỗ trợ đầy đủ cho Kotlin. Tất cả các bản phát hành mới của Android Studio đều hỗ trợ tạo dự án mới bằng tệp Kotlin, chuyển đổi mã ngôn ngữ Java thành Kotlin, gỡ lỗi mã Kotlin và nhiều tính năng khác nữa.

Làm thế nào để gỡ lỗi cho Kotlin trên Android Studio?

Chức năng gỡ lỗi cho Kotlin hoạt động giống như cách gỡ lỗi cho mã Java. Bạn không cần phải làm gì khác.

Loại hỗ trợ IDE nào khác được cung cấp cho Kotlin (như tìm lỗi mã nguồn,

tự động hoàn thành và tái cấu trúc)?

Android Studio có hỗ trợ công cụ đầy đủ cho Kotlin.

Tương lai của Kotlin là gì?

JetBrains đã tỉ mỉ thiết kế Kotlin và đó là một trong những lý do chúng tôi ngày càng ưu tiên ngôn ngữ này. Google đang hợp tác với JetBrains để đảm bảo đem lại một câu chuyện khá điển hình dành cho nhà phát triển (từ ngôn ngữ, khung mã nguồn đến công cụ). Chúng tôi đang nóng lòng được cùng hợp tác để biến ngôn ngữ Kotlin thành một nền tảng phi lợi nhuận.

Kotlin có phải là nguồn mở không?

Giấy phép ưu tiên cho Kotlin là Giấy phép phần mềm Apache, Phiên bản 2.0 ("Apache 2.0") và phần lớn phần mềm Kotlin được cấp phép theo giấy phép đó. Mặc dù dự án sẽ cố gắng tuân thủ giấy phép ưu tiên, nhưng có thể có những tình huống ngoại lệ. Khi đó, chúng tôi sẽ xử lý theo từng trường hợp. Ví dụ: một số phần phụ thuộc của bên thứ ba mà Kotlin sử dụng được cấp phép theo các giấy phép nguồn mở khác mà vẫn tương thích với giấy phép Apache 2.0.

Làm cách nào để chọn giữa ngôn ngữ Java và ngôn ngữ Kotlin?

Bạn không cần phải chọn! Bạn có thể sử dụng cả hai. Nếu cần được trợ giúp để tìm hiểu xem Kotlin có phù hợp với bạn hay không, bạn có thể dùng thử trên Android hoặc tìm hiểu thêm về ngôn ngữ này qua các tài nguyên này về Kotlin.

Tôi có thể gọi API của Android hoặc các API thư viện khác của ngôn ngữ Java từ Kotlin không?

Có. Kotlin có khả năng tương thích với ngôn ngữ Java. Thiết kế này cho phép mã Kotlin gọi những phương thức của ngôn ngữ Java một cách minh bạch, cùng với đó là các chú giải giúp bạn dễ dàng cung cấp chức năng chỉ có trong Kotlin cho mã Java. Nếu không sử dụng quy tắc ngữ nghĩa dành riêng cho Kotlin, thì các tệp Kotlin có thể được tham chiếu trực tiếp từ mã Java mà không cần đến bất kỳ chú giải nào. Khi kết hợp, tính năng này cho phép bạn kết hợp mã Java với mã Kotlin một cách chi tiết. Để tìm hiểu thêm, hãy xem tài liệu về khả năng tương thích của Kotlin.

Có tài liệu tham khảo về Kotlin cho API của Android không?

Có! Google đang nỗ lực để cung cấp mọi tài liệu về API Android có thông tin tham khảo tương thích với Kotlin. Bạn có thể tìm thấy đường liên kết đến các tài liệu tham khảo về Kotlin trên trang tổng quan tài liệu tham khảo về Android. Nếu bạn đang tìm kiếm một tài liệu chính về ngôn ngữ Kotlin, hãy xem tài liệu tham khảo về Kotlin trong thư viện chuẩn.

Tôi có thể sử dụng cả tệp Java và tệp Kotlin trong cùng một dự án không?

Có. Bạn có thể tuỳ ý sử dụng Kotlin nhiều hay ít và kết hợp mã này với mã Java bằng cách sử dụng khả năng tương thích của Kotlin với Java.

Tôi có thể sử dụng Kotlin với C++ không?

Có, JNI được Kotlin hỗ trợ đầy đủ. Đánh dấu các phương thức JNI bằng đối tượng sửa đổi bên ngoài.

Làm cách nào để thêm Kotlin vào các dự án mới?

Khi tạo dự án mới, Kotlin hiện là lựa chọn ngôn ngữ mặc định trong Android Studio. Để biết thêm thông tin, hãy xem bài viết Tạo dự án.

Làm cách nào để thêm Kotlin vào các dự án hiện có?

Chọn mô-đun trong cửa sổ Project (Dự án), sau đó chọn File > New (Tệp > Mới). Chọn bất kỳ mẫu Android nào rồi chọn Kotlin làm Source language (Ngôn ngữ gốc). Để biết thêm thông tin, hãy xem bài viết Thêm Kotlin vào ứng dụng hiện có.

Làm thế nào để chuyển đổi mã nguồn từ ngôn ngữ Java sang ngôn ngữ Kotlin?

Mở một tệp Java rồi chọn Code > Convert Java File to Kotlin File (Mã > Chuyển đổi tệp Java sang tệp Kotlin). Một cách khác là tạo một tệp Kotlin mới File > New > Kotlin File/Class (Tệp > Mới > Tệp/Lớp Kotlin), rồi dán mã Java vào tệp đó. Khi được nhắc, hãy nhấp vào Yes (Có) để chuyển đổi mã sang Kotlin.

Trong thời gian tới, Google có cung cấp tài liệu, ví dụ mẫu, lớp học lập trình và mẫu tương đương cho Kotlin hay không?

Chúng tôi đang nỗ lực điều chỉnh tài liệu và tài nguyên học tập của mình sao cho hữu ích nhất có thể cho người dùng của cả ngôn ngữ Java và ngôn ngữ Kotlin. Trong thời gian chờ đợi, nhà phát triển có thể dựa vào khả năng tương thích tuyệt vời của Kotlin với ngôn ngữ Java và khả năng tự động dịch mã nguồn từ ngôn ngữ Java sang Kotlin trong Android Studio.

Coroutine của Kotlin có hoạt động trên Android không? Còn tính năng không đồng bộ/chờ thì sao?

Coroutine của Kotlin đã ổn định kể từ Kotlin phiên bản 1.3 và hoạt động như dự kiến trên Android. Để biết thêm thông tin về cách sử dụng coroutine trên Android, hãy xem bài viết Cải thiện hiệu năng của ứng dụng bằng coroutine của Kotlin.

Việc sử dụng Kotlin có ảnh hưởng gì đến hiệu suất không?

Kotlin không ảnh hưởng trực tiếp đến hiệu suất, nhưng giống như với ngôn ngữ Java, bạn nên suy nghĩ kỹ về cách bạn sử dụng Kotlin. Ví dụ: việc sao chép nhiều lần giữa các thực thể mới của tập hợp có thể ảnh hưởng đến hiệu suất quản lý bộ nhớ (GC). Ngoài ra, khi gọi một phương thức chấp nhận các loại khác rỗng, hệ thống thêm một lệnh gọi phương thức để kiểm tra giá trị rỗng (nhưng bạn có thể tắt tính năng kiểm tra giá trị rỗng trong thời gian chạy trong trình biên dịch có -Xno-param-assertions).

Kotlin hỗ trợ những phiên bản Android nào?

Tất cả các phiên bản! Kotlin tương thích với JDK 6. Vì vậy, các ứng dụng sử dụng Kotlin có thể chạy an toàn trên các phiên bản Android cũ.

Tôi có thể tìm hiểu thêm về cách sử dụng Kotlin ở đâu?

Hãy xem bài viết Các tài nguyên khác để bắt đầu sử dụng Kotlin.