Kotlin là một ngôn ngữ lập trình tương đối “trẻ” nhưng đã được Google lựa chọn làm ngôn ngữ chính thức cho phát triển ứng dụng Android. Nhiều công ty lớn cũng chấp nhận Kotlin. Ngôn ngữ lập trình Kotlin cũng mở rộng phạm vi hoạt động của mình sang các nền tảng mới.
Do vậy, nếu bạn hướng tới phát triển ứng dụng di động Android, việc học ngôn ngữ lập trình Kotlin là một yêu cầu rất quan trọng. Nếu bạn hướng tới các loại ứng dụng thuộc “địa bàn” của Java, Kotlin là một giải pháp thay thế tốt hơn.
Ngôn ngữ lập trình Kotlin
Ngôn ngữ lập trình Java được tạo ra từ 1995. Cho đến nay, Java vẫn là ngôn ngữ lập trình đáng tin cậy và được sử dụng rộng rãi trong nhiều lĩnh vực. Không nhiều ngôn ngữ có thể so sánh được với Java.
Tuy nhiên, theo thời gian, các yêu cầu cho ngôn ngữ lập trình đã thay đổi. Java thiếu nhiều tính năng hỗ trợ mà lập trình viên mông muốn cũng như việc phát triển ứng dụng hiện đại đòi hỏi.
Những nhà phát triển ứng dụng tại JetBrains – công ty phát triển loạt IDE nổi tiếng như IntelliJ IDEA, Rider, PyCharm, PhpStorm, Reshaper plugin, v.v. – làm việc hoàn toàn trên Java và đã khai thác hết khả năng của Java.
JetBrains đúc rút được rất nhiều bài học từ các dự án của chính mình, từ các ngôn ngữ lập trình khác, và từ các yếu điểm và hạn chế của Java. Từ đây họ quyết định thiết kế một ngôn ngữ lập trình mới, trước hết, để đáp ứng nhu cầu sử dụng của chính mình.
Năm 2011, JetBrains công bố một ngôn ngữ lập trình có tên Kotlin. Tên gọi Kotlin xuất phát từ đảo Kotlin gần thành phố St. Peterburg – Nga.
Năm 2017, Google tuyên bố Kotlin là ngôn ngữ chính thức dành cho phát triển ứng dụng Android. Từ 2019, Kotlin là ngôn ngữ được Google ưu tiên và khuyến khích sử dụng.
Kể từ đây, phạm vi ứng dụng của ngôn ngữ lập trình Kotlin được mở rộng nhanh chóng. Các công ty lớn khác (ngoài Google) như Netflix, Amazon, Uber, Capital One chính thức chấp nhận Kotlin.
Phạm vi ứng dụng của ngôn ngữ lập trình Kotlin
Ban đầu Kotlin là một ngôn ngữ lập trình chạy trên máy ảo Java (Java Virtual Machine – JVM), tương tự như ngôn ngữ Java, Scala, hay Groovy. Đến nay, Kotlin đã mở rộng thành một ngôn ngữ lập trình đa mục tiêu và đa nền tảng. Có thể sử dụng ngôn ngữ lập trình Kotlin để phát triển ứng dụng Windows, MacOS, Android, Linux, JavaScript.
Kotlin là ngôn ngữ chính thức cho phát triển ứng dụng Android native (Kotlin for Android). Trước đây vai trò này thuộc về một mình Java. Giờ đây Kotlin là ngôn ngữ được ưu tiên và khuyến khích cho các dự án mới.
Kotlin có thể được sử dụng như một ngôn ngữ lập trình cho server (Kotlin for Server Side), bao gồm:
- Chương trình server cho loại ứng dụng web HTML truyền thống,
- Web API backend cho ứng dụng mobile,
- Microservice với RPC.
Trên thực tế đây là “địa bàn” trước giờ của Java. Do Kotlin cùng chạy trên JVM, có thể cùng sử dụng các thư viện của Java, và thậm chí tích hợp cùng Java, bạn đương nhiên có thể sử dụng Kotlin thay thế cho Java.
Kotlin cũng có thể được dịch sang JavaScript để chạy trên trình duyệt (Kotlin for JavaScript). Do vậy cũng có thể sử dụng Kotlin để xây dựng thành phần front-end của ứng dụng web hoặc ứng dụng web đa nền tảng.
Kotlin cũng có thể được dịch trực tiếp sang mã máy của các nền tảng mà không sử dụng máy ảo Java, gọi là Kotlin/Native. Hiện tại Kotlin/Native hỗ trợ các nền tảng sau:
- iOS (arm32, arm64, simulator x86_64)
- macOS (x86_64)
- watchOS (arm32, arm64, x86)
- tvOS (arm64, x86_64)
- Android (arm32, arm64, x86, x86_64)
- Windows (mingw x86_64, x86)
- Linux (x86_64, arm32, arm64, MIPS, MIPS little endian)
- WebAssembly (wasm32)
Đặc điểm của ngôn ngữ lập trình Kotlin
Tính thực dụng, hoặc nói theo cách khác, Kotlin là một ngôn ngữ được thiết kế để giải quyết các vấn đề thực tế.
Ngôn ngữ này được xây dựng trên nhiều năm kinh nghiệm làm việc với các hệ thống quy mô lớn. Các vấn đề Kotlin lựa chọn đều nhắm tới các vấn đề thường gặp bởi số đông lập trình viên.
Các phiên bản đầu tiên của Kotlin được chính các lập trình viên của JetBrains và cộng đồng sử dụng trong vài năm. Phản hồi của những đối tượng này định hình nên phiên bản phát hành chính thức của Kotlin.
Kết hợp ngôn ngữ và công cụ hỗ trợ – đặc điểm liên quan trực tiếp đến tính thực dụng.
Một ngôn ngữ tốt là chưa đủ. Nó còn cần đến một IDE mạnh để tối đa hóa hiệu suất của cả người lập trình và ngôn ngữ.
Do vậy, đi cùng với Kotlin là IntelliJ IDEA – một IDE nổi tiếng từ lâu. Đây là IDE chính thức của Kotlin. IntelliJ IDEA có thể giúp bạn viết code Kotlin hiệu quả nhất.
Súc tích – cú pháp của Kotlin thể hiện rõ ràng ý tưởng của code nhưng đồng thời ngắn gọn và đảm bảo dễ đọc.
Một ví dụ nhỏ: class Java thường cồng kềnh với hàng đống getter/setter. Kotlin chỉ dùng 1 dòng code để diễn đạt đủ thay thế cho backfield/getter/setter của Java.
Nhìn chung, khi so sánh với Java hay C#, code Kotlin đều ngắn gọn hơn.
Mặc dù ngắn gọn, code Kotlin lại hoàn toàn dễ đọc. Kotlin sử dụng các từ chứ không dùng tràn lan các ký tự đặc biệt (như Scala hay dùng).
An toàn – Kotlin an toàn hơn Java một bậc.
Khi chạy trên JVM, Kotlin đã có sự an toàn tương tự Java. Bản thân ngôn ngữ này lại được thiết kế để tránh những “nguy cơ” thường gặp trong Java và các ngôn ngữ khác.
Khả năng tương tác với Java – đây là điểm hấp dẫn của Kotlin để thu hút lập trình viên và các công ty đang sử dụng Java.
Kotlin được thiết kế để hoàn toàn tương thích với Java. Nghĩa là bạn có thể gọi code Java từ Kotlin, có thể gọi code Kotlin từ Java, và có thể trộn lẫn mã nguồn của Java và Kotlin!
Điều này dẫn đến việc bạn hoàn toàn có thể tiếp tục khai thác các thư viện Java trong Kotlin. Và việc học Kotlin khi đó chỉ đơn giản là học cách diễn đạt mới.
Ngoài ra còn có các công cụ hỗ trợ dịch code Java sang Kotlin.
Đối tượng và phạm vi
Tập tài liệu này hướng tới các bạn đã có kinh nghiệm trong một ngôn ngữ lập trình khác và mong muốn học Kotlin. Có vài lý do.
Kotlin là một ngôn ngữ lập trình “thực chiến”. Nó được tạo ra từ rất nhiều kinh nghiệm thực tế. Do vậy Kotlin, ngoại trừ hình thức đơn giản xúc tích, đồng thời lại là một ngôn ngữ lập trình tương đối khó học.
Kotlin pha trộn nhiều xu hướng lập trình khác nhau, trong đó chủ đạo là lập trình hàm (functional programming) và lập trình hướng đối tượng (object-oriented programming). Đây đều là những vấn đề mà nếu bạn ở mức độ nhập môn lập trình sẽ khó nắm bắt.
Tài liệu này đặc biệt phù hợp với những bạn đã từng có kinh nghiệm làm việc với Java. Do ngôn ngữ lập trình Kotlin đặc biệt tương thích với Java, nếu nắm bắt được Java từ trước sẽ rất dễ dàng học Kotlin. Thực tế, khi này bạn chỉ cần học một cú pháp khác để sử dụng những thư viện mình đã biết.
Ngoài ra, Kotlin cũng học hỏi rất nhiều từ các ngôn ngữ khác như Scala, C#. Nhiều khái niệm trong Kotlin không đến từ Java mà đến từ các ngôn ngữ này. Do vậy, nếu bạn xuất phát từ C#, việc học lập trình Kotlin cũng sẽ rất dễ dàng. Tuy nhiên bạn sẽ mất nhiều công sức hơn để học sử dụng các thư viện của Kotlin (và của Java).
Mặc dù Kotlin hiện nay được sử dụng chủ yếu cho lập trình Android, tập tài liệu này không chủ định hướng dẫn học lập trình Kotlin trong môi trường Android.
Thay vào đó các vấn đề cơ bản của lập trình Kotlin sẽ được trình bày như khi học một ngôn ngữ bình thường. Phần lớn thời gian chúng ta sẽ chỉ làm việc với giao diện console hoặc giao diện tương tác REPL của Kotlin.
sao ad k viet ve kotlin nua a.