Bài 1: Có nên học Kotlin?

[polldaddy poll=9764234]

Mấy ngày này cái tên Kotlin đã tạo nên một cơn địa chấn làm rung chuyển giới công nghệ, bạn đã xem phim “Đường Sơn Đại Địa Chấn” chưa? nếu bộ phim vô cùng hay này đã cướp đi không biết bao nhiêu nước mắt của khán giả thì Kotlin làm điều ngược lại, nó lan tỏa không biết bao nhiêu nụ cười cho giới lập trình viên bởi nhiều tiện ích mà nó đem lại. Đặc biệt ngày 17/05/2017 vừa rồi Google đã công bố Kotlin trở thành ngôn ngữ lập trình Android chính thống giáo, từ phiên bản Android Studio 3.0 các lập trình viên có thể tha hồ tung hoành!

Và Tui dự đoán rằng: Trong tương lai sẽ có làn sóng mạnh mẽ về tuyển dụng lập trình viên Android bằng ngôn ngữ Kotlin, các công ty sẽ rất khát nhân lực, các bạn cần nhanh chóng nghiên cứu Kotlin để đi đầu về công nghệ.

Nếu bạn còn bảo lưu quan điểm Chậm Mà Chắc, thì Tui nghĩ nó không còn đúng nữa. Thời đại này khác xưa rồi, các bạn phải Nhanh Mà Chắc mới hơn người ta được, đừng chờ cho tới khi Kotlin quá phổ biến thì lúc đó bạn là người đến sau. Hãy chiến đấu ngay từ bây giờ để đi đầu về công nghệ!

Hi hi hi, nghe tới đây bạn Đã Ghiền Kotlin chưa? Ngày xưa Tui học Văn là dốt nhất lớp, toàn bị 4.5 điểm, nên cố gắng lắm mới viết được một chút ít giới thiệu về Kotlin

ha ha – nhìn hình này có vẻ Toptal nói Java già cỗi

Kotlin có nhiều ưu điểm, ở đây Tui liệt kê một số để các bạn tham khảo (dĩ nhiên các bạn có thể tìm hiểu thêm):

Ngắn gọn như thế nào?

  • Ta có thể dễ dàng viết các POJO (Plain Old Java Object) trên một dòng :
data class Customer(val name: String, val email: String, val company: String)
  • Ta có thể dùng Lambda để lọc dữ liệu một cách nhanh chóng:
val positiveNumbers = list.filter { it > 0 }
  • Ta có thể tạo đối tượng bằng SingleTon:
object ThisIsASingleton {
    val companyName: String = "https://ssoftinc.com/"
}

Và còn nhiều cách viết ngắn gọn khác nữa, các bạn có thể tham khảo thêm trên http://kotlinlang.org/

An toàn như thế nào?

Kotlin tự động kiểm tra lỗi biễn dịch Null pointer exception, các hành vi trên tập dữ liệu null, tự động ép kiểu đúng một cách chính xác cho ta, ví dụ so sánh:

Đa năng  như thế nào?

Phải nói Kotlin có thể làm các multiplatform applications. Có thể build Kotlin cho Server-side , cho Android, cho Javascript, Native….

Khả năng tương tác như thế nào?

Kotlin có thể sử dụng được 100% các thư viện từ JVM, có thể dễ dàng từ Kotlin triệu gọi Java và từ Java triệu gọi Kotlin. Giúp các Lập trình viên không lo lắng về việc chuyển đổi coding, tăng khả năng tương tác mạnh mẽ trong hệ thống.

Ngoài ra Kotlin còn có thể dễ dàng lập trình trên nhiều công cụ khác nhau: Website, Eclipse, Netbeans, Android Studio, JetBrains… Tài liệu lập trình phong phú, cộng đồng hỗ trợ Kotlin ngày càng không ngừng phát triển.

Các cuốn sách Lập trình viên có thể nghiên cứu:

1.Kotlin in Action

Cuốn sách có 11 chương, giúp bạn hiểu rõ về Kotlin từ cơ bản tới nâng

2.Kotlin for Android Developers

Sách dành cho những ai đã rành về Kotlin, tiếp tục phát triển Kotlin bên Android (phần đầu vẫn dạy về Kotlin), được xé nhỏ thành 26 chương giúp ta dễ dàng học

3.Modern Web Development with Kotlin

Cuốn sách dạy về Web với Kotin, đặc biệt EcmaScript 6 chuẩn mới nhất, Json….Các bạn quan tâm có thể học, khoảng 115 trang.

4.Programming Kotlin

Cuốn này cũng tương tự, giúp ta có thể học tốt Kotlin. Bố trí thành 13 chương (420 pages ) các bạn có thể bám theo cuốn này để học

5.Fundamental Kotlin

Cuốn sách này khá hay, bạn có thể tham khảo.

Chúc các bạn nhanh chóng học tốt Kotlin, hẹn gặp các bạn ở những bài sau

Trần Duy Thanh (https://ssoftinc.com/)

Kotlin đã trở thành ngôn ngữ chính thức lập trình Android

[polldaddy poll=9764229]
Tin HOT! Trên cả Tuyệt Vời!
Vào ngày 17/05/2017, Google đã chính thức công bố Kotlin trở thành ngôn ngữ chính thức để lập trình Android vì sự tuyệt vời của nó, từ Android Studio 3.0 thì Kotlin sẽ được build sẵn: https://developer.android.com/kotlin/index.html
Tui đã từng giới thiệu trong bài https://duythanhcse.wordpress.com/2017/03/18/tang-toc-lap-trinh-android-voi-kotlin/
Các Lập trình viên Android chú ý để cập nhật chương trình mới, chắc chắn tương lai sẽ có làn sóng mạnh mẽ về tuyển dụng lập trình viên Android bằng ngôn ngữ Kotlin, các công ty sẽ rất khát nhân lực, các bạn cần nhanh chóng nghiên cứu để đi đầu về công nghệ.
Về toàn bộ tài nguyên liên quan tới Kotlin thuần túy và Kotlin cho android, các em tham khảo : http://kotlinlang.org/docs/books.html
Hẹn gặp các bạn tại http://mobileday.vn, Trung tâm Hội Nghị 272, 272 Võ Thị Sáu, Quận 3. Thành Phố Hồ Chí Minh
8:00 – 17:30 ngày 20/05/2017
GV Trần Duy Thanh

Tăng tốc lập trình Android với Kotlin

[polldaddy poll=9764234]

Kotlin cho Android là một plug-in giúp ta tăng tốc lập trình Android. Vì sự bất tiện của việc truy suất các control trên giao diện nên plug-in Kotlin ra đời. Cộng đồng Kotlin rất mới mẻ, tính tới 12h:00 khuya ngày 19/03/2017 thì có khoảng 600 ngàn lập trình viên và cộng đồng này ngày càng tăng chóng mặt. Và các công ty hiện nay cũng bắt đầu tuyển dụng lập trình viên Android với Kotlin.

Kotlin là một ngôn ngữ lập trình, Tui sẽ có những bài học riêng về ngôn ngữ này để áp dụng cho lập trình Android với Kotlin để tăng tốc lập trình. Tuy nhiên trong bài học này Tui chỉ hướng dẫn cách nhanh nhất để đưa plug-in tuyệt vời này vào ứng dụng Android.

Những ai lập trình android thường chán ngán với hàm findViewById để truy suất tới các control trên giao diện, hoặc là phải sử dụng Data Binding để mapping model-view. Kotlin giúp ta cách dễ nhất để có thể tương tác trực tiếp tới các Id của các Control trên giao diện (tương tự như C# mà ta lập trình trong Visual Studio)

  • Đầu tiên ta tạo một Project Android trong Android Studio với tên “ThuKotlin” (thử học Kotlin) và thiết kế màn hình tương tự dưới đây:

Giao diện trên có 2 EditText (để nhập số a và số b), nút Button Tính để cộng 2 số a, b nhập từ giao diện.

  • Tiếp theo ta tiến hành cài Plug-in Kotlin: Vào menu File/chọn Setting:

  • Sau khi chọn Settings…==>chọn Plug-in:

  • Sau đó chọn Browse respositories ở màn hình trên, ta tiến hành tìm kiếm kotlin:

Ta chọn đúng Kotlin như màn hình Tui chụp ở trên rồi bấm vào nút Install, ta chờ hơi lâu 1 tí nha, chờ tới khi nào nó tải xong thì thôi:

Sau khi tải plugin Kotlin xong thì ta cần khởi động lại Android Studio:

Sau khi khởi động xong ta vào menu Tools/ chọn Kotlin/ chọn configure Kotlin in Project:

Sau Khi chọn Configure Kotlin In Project, ta có màn hình sau:

Ở màn hình trên ta chọn “Android with Gradle

Lúc này Android Studio sẽ hiển thị cửa sổ để chọn Version Kotlin:

Mặc định ta thấy là 1.0.7, ta bấm vào để chọn 1.1.1 (Nếu không thấy thì cứ để mặc định 1.0.7 có gì ta sửa sau)

Ta chọn cấu hình xong thì bấm nút OK, kết quả tập tin cấu hình build.gradle trong Project level:

Ở trên ta thấy ext.kotlin_version là 1.0.7==>ta cần đổi thành 1.1.1

Ta bổ sung thêm:

classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

cuối cùng build.gradle trong Project level ta có như sau:

Tiếp tục vào build.gradle trong Module level:

Ta bổ sung thêm:

apply plugin: 'kotlin-android-extensions'

Cuối cùng ta có build.gradle trong Module level:

Sau cùng bấm vào nút Sync Now:

Bước cuối cùng ta sẽ chuyển MainActivity (coding java) thành MainActivity (coding kotlin ) bằng cách vào menu Code/ chọn Convert Java file to Kotlin File:

Sau khi bấm Convert Java File to Kotlin File, ta chờ chút xíu để chương trình chuyển đổi java class thành kotlin class:

Kết quả sau khi chuyển đổi:

Bây giờ ta có thể dễ dàng tương tác trực tiếp các control trên giao diện theo ngôn ngữ lập trình Kotlin như sau:

Bạn quan sát đấy, nó truy suất vô cùng dễ dàng, ngắn gọn (dĩ nhiên bạn phải biết lập trình bằng ngôn ngữ Kotlin cho android, Tui sẽ sắp xếp giảng khóa học này cho các bạn sau). Kết quả thực hiện:

Giờ muốn thêm một màn hình Activity với Kotlin hay là tạo Class Kotlin thì ta chọn Kotlin Activity hoặc Kotlin File/ Class , Android Studio sẽ tự động chuyển Activity qua dạng kotlink luôn, và phần mở rộng của Kotlin là .tk nhé:

Các bạn có thể tải source code ở đây: http://www.mediafire.com/file/l9gg9u9raca75gz/ThuKotlin.rar

Chúc các bạn thành công!


Nếu bạn nào muốn rèn luyện thêm lập trình Java, lập trình Android, lập trình Webservice với tổng thời lượng học >80 giờ thì có thể đăng ký học theo các link sau:

1) Lập trình java trong 4 tuần – 19 giờ(chỉ dành cho những ai CHƯA BIẾT GÌ VỀ LẬP TRÌNH hoặc đã biết lơ mơ về Java, lý thuyết và các bài tập phong phú tạo nền tảng lập trình Android và các hướng khác liên quan tới Java):
https://kyna.vn/lap-trinh-java-trong-4-tuan/325931
2) Lập trình Android cơ bản (>24 giờ học) – toàn bộ kiến thức về Android cơ bản:
https://kyna.vn/lap-trinh-android-co-ban/325931
3) Lập trình Android nâng cao (23 giờ học) – toàn bộ kiến thức về Android nâng cao:
https://kyna.vn/lap-trinh-android-nang-cao/325931
4) Lập trình Webservice cho Di Động – 14 giờ (dành cho những ai ĐÃ BIẾT ANDROID), những ai chưa biết Android tuyệt đối không đăng ký, khóa học hướng dẫn tỉ mỉ từ A->Z để có thể xây dựng được một phần mềm hoàn chỉnh tương tác client-server:
https://kyna.vn/lap-trinh-webservice-cho-di-dong/325931