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ế để 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ữ Java, qua đó không chỉ giúp các nhà phát triển yêu thích ngôn ngữ 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, chúng tôi muốn hỗ trợ tốt hơn 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 đủ Kotlin. Tất 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.v.

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)?

Kể từ Android Studio 3.0, IDE có hỗ trợ công cụ đầy đủ cho Kotlin. Tuy nhiên, có một số vấn đề và điểm hạn chế đã biết mà chúng tôi đang tìm cách khắc phục.

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 tuyệt vời về nhà phát triển (từ ngôn ngữ, khung mã nguồn đến công cụ). Đồng thời, chúng tôi đang hào hứng phối hợp cùng nhau để đưa ngôn ngữ Kotlin thành một nền tảng phi lợi nhuận.

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

Giấy phép ưu tiên cho Kotlin là Apache Software License, 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ó thể đượ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.

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 ngôn ngữ này nếu thấy phù hợp. Nếu cần 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ử cho Android hoặc tìm hiểu thêm về ngôn ngữ này qua các tài nguyên Kotlin này.

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. Đây là một thiết kế 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ì tệp Kotlin có thể được tham chiếu trực tiếp từ mã Java mà không cần chú giải. 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ó! Chúng tôi đang nỗ lực làm việc để tất cả tài liệu về API của Android đều có thông tin tham khảo về cách sử dụng trong Kotlin. Bạn có thể tìm đườ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 tài liệu chính về ngôn ngữ Kotlin, hãy xem tài liệu tham khảo về thư viện chuẩn Kotlin.

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 phương thức JNI bằng biến bổ trợ 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 của bạn 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ữ nguồn). Để 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)), sau đó dán mã Java vào tệp đó – khi được nhắc, hãy nhấp vàoYes để chuyển đổi mã nguồn sang ngôn ngữ 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 các Tài nguyên bổ sung về Kotlin.