Nên chọn Java hay Kotlin để bắt đầu học lập trình Android? Đây có lẽ là câu hỏi không dễ đối với những người mới bắt đầu học lập trình Android hay cả với những lập trình viên đã có kinh nghiệm với nền tảng khác và mới chuyển sang lập trình Android. Chúng ta cùng xem xét một số yếu tố để trả lời câu hỏi trên nhé.
Trước khi lựa chọn Java hay Kotlin để lập trình Android, chúng ta nên xét đến tính chất của cả 2 ngôn ngữ khi dùng để lập trình Android, từ đó phân tích ưu, nhược điểm để đưa ra lựa chọn phù hợp.
Java là ngôn ngữ lập trình thuần hướng đối tượng, được sử dụng từ năm 1995 đến nay và Java được sử dụng để xây dựng app Android từ 2007 đến nay
Ưu điểm của Java khi dùng để lập trình ứng dụng Android:
- Java là ngôn ngữ lập trình dùng để xây dựng ứng dụng Android từ khi Android ra đời đến nay nên được cập nhật, sửa lỗi, tối ưu nhiều.
- Là ngôn ngữ thuần hướng đối tượng, dễ tiếp cận hơn cho người học.
- Hiệu năng ứng dụng Android xây dựng bằng Java có phần nhanh hơn Kotlin.
Nhược điểm của Java khi dùng để lập trình ứng dụng Android:
- Không được Google khuyến cáo sử dụng để xây dựng app Android nữa.
- Do tính thuần hướng đối tượng nên một số trường hợp cần viết code dài hơn, phức tạp hơn so với Kotlin.
- Dễ bị decompile app lấy source code nếu không mã hoá code.
- Một số công ty / khách hàng hiện nay (thời điểm bài viết cuối 2019 – đầu 2020) đi theo trào lưu sử dụng Kotlin thay cho Java để xây dựng ứng dụng / hệ thống mới.
Kotlin là ngôn ngữ lập trình mới ra đời từ năm 2011 và được Google khuyến cáo sử dụng để xây dựng app Android từ 2017 đến nay:
Ưu điểm của Kotlin khi dùng để lập trình ứng dụng Android:
- Là ngôn ngữ lập trình được xây dựng với mục đích dùng cho đa nền tảng cả Android, Mobile, Backend.
- Được Google tối ưu và khuyến cáo sử dụng để xây dựng app Android.
- Vừa có tính hướng đối tượng, vừa có tính hướng cấu trúc nên một số trường hợp sử dụng nâng cao có thể viết code nhanh gọn hơn.
- Một số công ty / khách hàng hiện nay đi theo trào lưu sử dụng Kotlin thay cho Java để xây dựng ứng dụng / hệ thống mới.
Nhược điểm của Kotlin khi dùng để lập trình ứng dụng Android:
- Ngôn ngữ đa nền tảng, khi biên dịch phải dịch mã sang Java để chạy trên máy ảo JVM nên hiệu năng app Android viết bằng Kotlin chậm hơn một chút so với Java.
- Khó tiếp cận với người mới hơn so với Java.
- Đa phần source code ứng dụng cũ / thư viện cũ vẫn sử dụng Java (thời điểm bài viết cuối 2019 – đầu 2020), nhiều công ty cũng vẫn dùng Java để xây dựng ứng dụng / hệ thống mới nên người học Kotlin thường vẫn phải học thêm Java để xây dựng app Android.
=> Tổng kết so sánh Java và Kotlin để lập trình Android cho người mới bắt đầu:
- Tổng quan công việc xây dựng các app Android hiện nay (cuối 2019 – đầu 2020) của Java và Kotlin là khoảng 70% / 30%.
- Bạn có thể lựa chọn học Java / Kotlin để xây dựng app Android nhưng Java dễ tiếp cận hơn cho người mới bắt đầu, khi bạn tương đối vững Java sẽ học thêm Kotlin.
- Không nên học Kotlin ban đầu vì thực tế công việc yêu cầu nếu bạn học Kotlin ban đầu thì cần phải học song song cả Java để làm được việc, điều này gây ra khó khăn cho người mới học.
- Chỉ nên học Kotlin trước nếu công ty bạn làm việc yêu cầu chỉ được sử dụng Kotlin khi viết app.