Tag Archives: Android

2019 Google I/O 初體驗

以通訊軟體為核心,LINE 持續發展圍繞用戶生活的各種服務,同時也抱持著開放的態度,積極與不同的平台或開發工具串聯。因此,我們鼓勵、更贊助 LINE 的工程師參與各式各樣的外部研討會,激發更多創意或合作的可能性,並於會後撰寫見聞,分享給 LINE Engineering Blog 的讀者們。 《LINE 強力徵才中!》與我們一起 Close the Distance 串聯智慧新世界 >> 詳細職缺訊息 Google I/O 是一個由 Google 主辦的年度開發者大會,匯集了來自全球各地的開發人員,與 Google 各領域專家進行面對面會談,或現場實作,且能看到 Google 最新開發產品的第一手資訊。 身為一個 Android 開發者,能參加這個會議 (或者說是開發者的盛宴) 是個夢想。今年,很榮幸也很感謝公司 LINE 的支持,全額補助我去參與這個盛大的會議。這同時也是我初次參與,留下深刻的印象。無庸置疑,我從中獲益良多,但是以我沒有想像到的方式! 從官方部落格可以知道,今年的 I/O 共有 7,200 人在 Shoreline Amphitheatre 共同參與,其中絕大部分是開發人員。而我也相信,在會議後的幾日,許多的議程分享或回顧文章肯定會如雨後春筍般出現。我當然也參與了一些議程,並且在回國後也花了一些時間補看我有興趣卻未能及時參與的議程影片。然而,參與 Google I/O 的最大價值,在我看來並不是在技術議程上,而是在現場未被攝影機捕捉到的其他活動、我的觀察以及啟發。 事前準備? 在今年出發去參加之前,我從一些已經參與過 I/O 的朋友那裡得到一些建議。其中一個就是讓我切記,在官方發布議程後,要馬上預訂好想參加的議程,否則熱門的議程很快會額滿。因為我太擔心當天在現場排隊耗時甚至還可能進入不了議程,在官方發佈的當天,馬上就把所有時段都預定好,並下定決心要盡可能參與越多的議程越好。 在那之後,我很幸運的被邀請進一個台灣香港 I/O 19′ 參與人員的 LINE 聊天群組。裡面有許多經驗豐富的 I/O 參與前輩,他們熱情又熱心的分享了實際參與的經驗。我從中獲得許多有用的資訊,並認知到什麼才是參與 I/O 最重要的事  —  沒有被攝影機留存的活動,像是,直接面對面諮詢 Google …

Fix It @ Taiwan

大家好,我是 Soda,隸屬於LINE Messenger APP 的 iOS 客戶端開發團隊。在此跟大家分享 2018 年底舉辦的公司內部開發活動 – Fix It@Taiwan。 LINE 一如往年於年底舉辦了這場活動,包括日本在內的全球 iOS/Android 用戶端應用程式(client application)開發人員齊聚集一堂,自由發想 LINE 的全新功能,並實作原型(prototype)的黑客松(Hackathon;程式設計馬拉松)。今年活動目標有點變更,改為舉辦以 Fix It@Taiwan 為題的公司內部活動,以期提早每天工作中往往被忽略或推延的單元測試(Unit Test)涵蓋率和解決編譯程式時的警告(warning)訊息等,進而改善 LINE Messenger APP 的品質。在來自日本的40名 iOS/Android 工程師和 UX 設計師參與下,連同 LINE Taiwan 所屬 iOS/Android 工程師,一起在 LINE Taiwan 辦公室著手展開改善作業。 第1天 會議揭開序幕後,由 Mr. Luke 透過說明會(orientation session)確認本次活動的重點,與大家分享「是 Fix It ,而不是 Break It ,所以要謹慎作業」、「修正程式錯誤(bug)不是本次作業的主題」、「這不是一場大量改寫程式碼的競賽」、「找出清理程式碼的樂趣」等方針,並透過這場活動具體舉出 Do’s(應該做的事)和 Dont’s(不應該做的事)。 接著,UX 團隊的 …

為什麼我們使用Kotlin開發LINE Creators Studio

前言

哈囉大家好,我是 Freddie Wang, LINE Fukuoka 開發室的軟體工程師。目前擔任 LINE Creators Studio Android 版本的開發。我們最近剛剛完成了 LINE Creators Studio 的 Android 版本。LINE Creators Sudio是 LINE 最新推出的應用程式,可以讓用戶輕鬆的製作自己的貼圖並且上架販賣。在 Android 的版本上我們使用 Kotlin 來開發這個應用程式。所以我想透過此篇文章來分享一下為什麼我們使用 Kotlin 開發以及我們使用了哪些功能。

目前 LINE Creators Studio 只在日本上架,預計之後會在其他地區推出。

Kotlin的優點與主要功能

在今年的 Google IO 17上, Google 正式宣佈將從 Android Studio 3.0 開始提供 Kotlin 的支援,這對 Android 的開發者來說是一個令人非常振奮的消息。在 2016 年底,我們開始了 LINE Creators Studio 的開發工作,並且需要在短時間完成一個 MVP (Minimum Viable Product)。在那個時間點,雖然 Kotlin 1.0 已經正式推出了,但我們小組裡面還沒有人有用過 Kotlin 開發產品的經驗,所以我們在正式開發前花了一點時間來研究 Kotlin,經過內部討論後,最後決定試著用 Kotlin 來開發 LINE Creators Studio。

為什麼用Kotlin

我們是根據以下幾個原因決定使用 Kotlin.

100% interoperable with Java

Kotlin 其中一個非常讚的特性是完全相容 Java,所以你可以在一個 project 裡面同時使用 Kotlin 和 Java 而不會有任何相容性的問題。雖然 LINE Creators Studio 是一個全新的專案,但是我們仍然需要使用一些很棒的函式庫,像 Dagger 2、Retrofit、RxJava 等等。

Concise syntax

Kotlin 最初是為了解決一些 Java 設計不便的地方而設計的,而其中一個主要的目的就是要能比 Java 寫出更簡潔的程式碼,而這一點在我們小組裡面,更是重要的一個因素。

Reduced dependencies

Kotlin 本身就帶了一個簡潔的標準函式庫,而且在大多數的應用上可以用來取代一些知名的大型 Java 函式庫,像是 Guava 等。在 Server 和 Desktop 應用領域上,使用這類大型的函式庫基本上沒有什麼問題。但是在 Android 的開發上就會造成一些麻煩。主要的原因就是 Android 的 Dalvik JVM 有上限 65K 的問題,基本上需要避免使用大型的 Java 函式庫。而最新的 Kotlin 標準函式庫 1.1.3-2 版只有6306個(參考連結) 函式, 所以可以有效地減輕這個問題。

Compatible with old Android devices

Kotlin 1.0 是基於 Java 6,所以使用 Kotlin 開發基本上可以在任何的 Android 2.3 版以上的裝置運行,這對於一個 Android 應用程式開發者來說是非常重要的,畢竟使用最新版本 Android 的用戶還是比較少一點。