Lập trình Kotlin – Ngôn ngữ lập trình “ưu tiên” của Android

Java giờ đây không còn là “soái ca” trong lập trình Android nữa vì đã có Kotlin, ngôn ngữ lập trình “ưu tiên” cho hệ điều hành Android, như lời Google tuyên bố trong Hội nghị phát triển Google I/O 2017 vào ngày 17/05/2017 vừa qua.
Bạn thân mến, bạn có tình cờ nghe nói đến Ngôn ngữ lập trình Kotlin bao giờ chưa? Bạn có muốn biết về Kotlin không? So với các ngôn ngữ khác thì Kotlin có gì hay? Tương lai của Kotlin thế nào? Chúng ta hãy cùng tìm hiểu qua bài viết sau và biết đâu sau khi đọc xong bạn sẽ quyết định cập nhật kiến thức về Kotlin để bắt kịp xu hướng mới. 
 

Kotlin là gì?

 
Kotlin là ngôn ngữ lập trình dành cho các ứng dụng đa nền tảng hiện đại – 100% tương thích với Java và Android.
Đây là một “statically-typed programming language” - ngôn ngữ lập trình tĩnh – chạy trên Java Virtual Machine – JVM, và có thể được biên dịch sang JavaScript source code, hoặc sử dụng cơ sở hạ tầng biên dịch LLVM (Low Level Virtual Machine compiler infrastructure) – một nhóm các mođun, trình biên dịch và và các công cụ được sử dụng để phát triển front-end và back-end của ứng dụng. Kotlin được phát triển bởi đội ngũ những lập trình viên trong nhóm JetBrains – trụ sở tại Saint Petersburg, Nga. Cú pháp của Kotlin không tương thích với Java nhưng nó được thiết kế để tương tác với Java code và Kotlin có thể khai thác các thư viện hiện có của Java (Java Class Library), ví dụ như Collections Framework. 
Là một ngôn ngữ lập trình mới, Kotlin được JetBrains công bố lần đầu tiên vào tháng 06/2011. Đến tháng 02/2012, JetBrains “mở nguồn” dự án và ngày 15/02/2017, Kotlin 1.0 phát hành với mục tiêu biên dịch nhanh như Java và cam kết khả năng tương thích ngược lâu dài với phiên bản này. Phiên bản mới nhất là Kotlin 1.1.2 phát hành ngày 25/04/2017.
Tại Google I/O 2017, vào ngày 17/05/2017, Google đã tuyên bố ưu tiên hỗ trợ hàng đầu cho Kotlin trên Android. Với sự hỗ trợ chính thức này của Google, sẽ là sự thúc đẩy to lớn với ngôn ngữ lập trình đầy mới mẻ này, và dĩ nhiên cũng làm cho việc lập trình Kotlin trên Android trở nên dễ dàng hơn.
Nếu chỉ là một ngôn ngữ lập trình thông thường thì chắc Kotlin sẽ chưa gây được sự chú ý sau một thời gian ngắn. Nhưng vì đây là ngôn ngữ lập trình được lựa chọn khi xây dựng ứng dụng JVM, Android, JavaScript, Native – là những cái tên “hot” trong những năm gần đây nên Kotlin “bỗng dưng nổi tiếng”. Chỉ trong một khoảng thời gian ngắn, số lượng download và sử dụng Kotlin tăng lên một cách nhanh chóng. Báo hiệu một sự khởi đầu tốt đẹp và hợp thời.
 

Vì sao nên lựa chọn Kotlin?

 
Có rất nhiều lý do để lựa chọn Kotlin:
  • Ngắn gọn: giúp giảm thiểu các đoạn mã không cần thiết, cấu trúc ngắn gọn, dễ học, dễ làm, dễ sử dụng, tiết kiệm thời gian viết code. Ví dụ như:
    • Xây dựng các POJO với các phương thức getter, setter, equals(), hasCode(), toString() và copy() chỉ với một dòng lệnh:
data class Customer(val name: String, val email: String, val company: String)
  • Lọc một list bằng cách sử dụng biểu thức lambda:
val positiveNumbers = list.filter { it > 0 }
  • Khi cần một Singleton thì chỉ cần tạo một object:
object ThisIsASingleton {
    val companyName: String = "JetBrains"
}
 
Lập trình Kotlin

 

An toàn: giúp tránh được các lớp lỗi ví dụ như các lỗi về “null pointer exceptions”.

  • Loại bỏ các null pointer exception, bảo vệ developer khỏi nhầm lẫn cách hoạt động trên các loại nullable. 
  • Nếu developer kiểm tra đúng kiểu, trình biên dịch sẽ tự động chuyển kiểu phù hợp.
fun calculateTotal(obj: Any) { 
    if (obj is Invoice) 
obj.calculateTotal() 
}
  • Khả năng tương tác cao: đẩy mạnh các thư viện hiện có cho JVM, Android và browser. Sử dụng các thư viện tồn tại trên JVM, tương thích 100%, bao gồm cả SAM support.
  • Tool làm việc thân thiện: có thể lựa chọn các Java IDE để làm việc hoặc làm việc với command line.
    • IntelliJ IDEA có hỗ trợ plug-in Kotlin
    • JetBrains cũng cung cấp plug-in Kotlin cho Eclipse
    • Kotlin tích hợp với các công cụ xây dựng ứng dụng phổ biến của Java như Apache Maven, Apache Ant, và Gradle
    • JetBrains cũng cung cấp plug-in Kotlin cho Android Studio
  • Được ưu tiên hỗ trợ trong Android Studio: Kotlin được phát triển bới JetBrains, công ty phát triển IntelliJ-IDE và Android Studio được xây dựng từ chính IntelliJ-IDE nên việc ưu tiên hỗ trợ Kotlin là điều tất nhiên. Khi chúng ta cài đặt plugin Kotlin trong Android Studio, việc cấu hình Kotlin trong dự án của chúng ta trở nên cực kỳ đơn giản. Khi Android Studio có hỗ trợ Kotlin, chúng ta có thể chuyển đổi toàn bộ mã nguồn Java thành Kotlin chỉ với vài cú click chuột.
Lập trình Kotlin

 

  • Miễn phí: Kotlin là một dự án mã nguồn mở, đăng ký theo Apache 2 lisence, miễn phí sử dụng.
  • Có một cộng đồng tham gia sôi động và tích cực: rất nhiều developers đã tham gia Kotlin Forum (hơn 2000 thành viên), StackOverflow (gần 3000 câu hỏi được đăng trong một khoảng thời gian ngắn), và Kotlin Slack (gần 9.000 thành viên vào tháng 06/2017 – tăng 2000 thành viên so với tháng 05/2017).
 

Kotlin có những ứng dụng nổi bật nào?

 

Lập trình Kotlin

 

  • Pinterest: Pinterest đã thành công khi giới thiệu Kotlin trong ứng dụng của họ, được 150.000 người dùng mỗi tháng
  • Gradle: giới thiệu Kotlin là ngôn ngữ lập trình để xây dựng các script
  • Evernode: hiện tại Evernode đã tích hợp Kotlin vào Android client của họ
  • Uber: đã sử dụng Kotlin để xây dựng các tool nội bộ của họ
  • Coursera: đã viết một phần của Coursera Android app bằng Kotlin
Và còn rất nhiều các ứng dụng rất phổ biến khác được xây dựng bằng Kotlin…
 

Ai nên tìm hiểu Kotlin?

 
Kotlin có thể được sử dụng để phát triển nhiều loại ứng dụng khác nhau như ứng dụng di động Android, server-side, client-side với JavaScript, Java FX, data-science… Hơn nữa, với Kotlin/Native hiện nay và trong tương lai sẽ hỗ trợ cho các nền tảng khác như hệ thống nhúng (embedded system:  Arduino/Raspberry Pi…), macOS và iOS, game, data analysis.  
Vì vậy, Kotlin phù hợp với tất cả, dù bạn đang là lập trình viên chuyên nghiệp, lập trình viên tập sự, sinh viên công nghệ thông tin hay bất cứ ai yêu thích lập trình, luôn mong muốn học hỏi và cập nhật kiến thức mới để xây dựng và các phát triển ứng dụng hiện đại.
 
Nguồn tham khảo:
https://en.wikipedia.org/wiki/Kotlin_(programming_language)  
https://kotlinlang.org/ 
https://kotlinlang.org/docs/reference/faq.html
https://jaxenter.com/learn-kotlin-infographic-134532.html 
https://www.theverge.com/2017/5/17/15654988/google-jet-brains-kotlin-programming-language-android-development-io-2017
 
Chúc bạn thành công!
 
 
Trung tâm Tin học ĐH Khoa học Tự nhiên
 
 
CHƯƠNG TRÌNH ĐÀO TẠO