เปรียบเทียบมัดต่อมัด ระหว่างภาษาเกิดใหม่อย่าง Kotlin กับภาษารุ่นพี่ Java
เมื่อพูดถึงภาษาที่พัฒนาแอพบน Android นอกจาก Java ก็ยังมีภาษาอื่นที่ใช้พัฒนาได้ อาทิ C#, C/C++, JavaScript และ Scala
และล่าสุด google ก็รองรับภาษา Kotlin เอาไว้ใช้เขียนแอพบน Android ซึ่งใน Android Studio 3.0 ก็รองรับ Kotlin ไว้เสร็จสรรพโรงเรียนจีน
ข้อมูลในบทความนี้ เป็นรูป Infographic เขาจะเปรียบเทียบภาษา Kotlin กับ Java ซึ่งจะมีประโยชน์ในการเลือกภาษาไปใช้งานโปรเจคเรา
เลยสรุปมาให้
1) เลขเวอร์ชั่น
Kotlin 1.2
ส่วน Java 8 (Android Studio 3.0 มันรองรับเวอร์ชั่น 7 เต็มรูปแบบ และบางส่วนของเวอร์ชั่น 8 ยังไม่ถึง 9 ที่เป็นเวอร์ชั่นล่าสุด)
2) จุดประสงค์การใช้งาน
Kotlin เป็นภาษา statically typed (ต้องรู้ชนิดข้อมูลก่อนคอมไพล์)
โดยทำงานได้บน JVM, Android หรือจะแปลงเป็น JavaScript ก็ได้ด้วย
Java เป็นภาษาโปรแกรมเชิงวัตถุ (statically typed เหมือนกัน) สามารถพัฒนาแอพบน Android ได้ (ไม่ใช่แค่แอพบน Android แต่สามารถใช้งานได้ครอบจักรวาลภาษาหนึ่ง)
3) ศาสดาผู้ให้กำเนิด
บริษัท Jet Brains และ ผู้สนับสนุน Open source ทุกท่าน
ท่าน James Gosling, Mike Sheridan และ Patrick Naughton
4) ปีที่ถือกำเนิด
Kotlin ปี 2011 (ในรูปมันผิดครับ)
Java ปี 1995
5) ใครบนโลกใช้บ้าง
Kotlin เช่น Pinterest, Evernote, Gradle (Kotlin เกิดทีหลัง ผู้ใช้เลยยังไม่มาก)
Java เช่น Linkedin, amazon.com, ebay.com (เนื่องจาก Java เกิดก่อน มีผู้ใช้เยอะกว่า)
6) ความสามารถ
Kotlin เป็นภาษาสมัยใหม่ เพิ่มความสามารถ robustness ของโค้ด (จัดการความผิดพลาดขณะโปรแกรมทำงาน และจัดการกับความผิดพลาดตอนป้อนข้อมูล) อีกทั้งเพิ่มความสามารถให้สร้างแอพได้หลากหลากแพลท์ฟอร์ม
Java จุดเด่นที่โด่งดังคือ รันได้ข้ามแพลทฟอร์ม (cross platform) สามารถเอามาทำเว็บแอพก็ได้
7) ทำไมถึงเลือกใช้งาน
ใช้ Kotlin เพราะ โค้ดเขียนได้กระชับ ปลอดภัย เข้ากันได้กับ Java มีเครื่องมือที่รองรับ
ใช้ Java เพราะ ความเป็นโปรแกรมเชิงวัตถุสูง มีความ secure มีประสิทธิภาพสูง ทำเว็บแอพได้
8) แหล่งเรียนรู้ออนไลน์
Kotlin เช่น บล็อกของ Kotlin เอง, Udemy,Dzone เป็นต้น
Java เช่น Stack overflow, Github, Dzone เป็นต้น
9) IDE ที่รองรับ
Kotlin เช่น Intellij IDEA, Android Studio, Eclipse, Standalone Compiler
Java เช่น NetBeans, Eclipse, Android studio, JDeveloper
10) การใช้งาน
Kotlin นำไปใช้บน JVM, Android, ทำเป็นเว็บ
Java นำไปใช้งานบนมือถือ, ทำเป็นเว็บ, ใช้งานในระดับองค์กร
หมายเหตุ ไม่ได้สรุปทุกภาพ ถ้าผิดพลาดอะไร ก็ขอโทษทีครับ
gradle android 在 工業技術研究院 Facebook 八卦
#工商服務
Ubiquitous Android(手機、平板、高解析穿戴裝置)與藍芽及物聯網應用實作系列
Android Studio是從IntelliJ的基底強化而來,整合了Google雲端平臺,並支援多種Android載具的Apps開發,包括Android智慧型手機與平板電腦、Android TV、Android Wear、Google眼鏡等可運行Android系統的載具。
5/9~17【Android Studio與版本控制整合開發實作】
整合Android Studio與Bitbucket, 讓個人與小型團隊在開發時可以除了有本地端的版控,同時也可以有遠端程式碼的協同運作,進行整合的專案開發。
7/21~29【Android Studio於平板、高解析穿戴裝置與電視載體應用實作】
工具與實例講解並重,以具體的功能解析說明Android高解析度時所用的Fragment,gradle如何控制這些相關的library,進而說明Android wear的原理與網路整合實務。
9/22~30【Android與物聯網、藍芽及藍芽BLE連結實作】
以實作解析Android與藍芽2.0、4.0及其餘裝置的整合。包含Google Cloud Message雲端訊息推送,並且說明Arduino與Android BLE的連結使用。
https://college.itri.org.tw/edm/D1/001/07/index.html
gradle android 在 軟體開發學習資訊分享 Facebook 八卦
在上一篇po文中介紹了Jenkins 2.0 對groovy的內建支援, 接續來看一下Jenkins如何幫助Android做Continue Integration, 裡面有講到一個重點Build number要在build的時候自動產生然後寫到Android app的設定檔, 這個小動作看似沒什麼, 但是當你將一切流程縫合起來, 你就會發現真是好用, Continue Integration後要做什麼? 測試->快速回饋Bug, 這個build number在回饋Bug時就派上用場了.. 這份簡報還提到很多, 值得詳細看一遍
http://www.slideshare.net/s…/android-gradle-mopcon-54589102…
gradle android 在 Android Studio使用教程(四):Gradle基礎 - 程式前沿 的相關結果
另一個是宣告瞭android gradle plugin的版本,android studio 1.0正式版必須要求支援gradle plugin 1.0的版本。 5. 9GAG/settings.gradle. 這個檔案是全域 ... ... <看更多>
gradle android 在 理解與配置android studio中的gradle | 網頁設計教學 的相關結果
這篇博客旨讓任何一個人能看懂android studio的gradle scripts,主要會從gradle的簡單語法,gradle scripts的腳本結構,每一個腳本(build.gradle ... ... <看更多>
gradle android 在 Android Gradle plugin release notes 的相關結果
The Android Studio build system is based on Gradle, and the Android Gradle plugin adds several features that are specific to building ... ... <看更多>