Life is a YOLO game

Sudo 開發日記 2016-04-04

April 04, 2016

工作內容

  • 上週

    • 完成 Sudo app 的 職缺清單職缺分類清單其他篩選條件 介面。
  • 本週

    • 完成 mockups 繪製的所有 app 介面。
    • 將 staging 的 API 實際橋接到 app 上。

其他新東西

1. 研究 React Native 的 flexbox 系統

React Native 雖號稱 讓前端工程師不必另外學習其他程式語言 (Objective-C、Java) 就可以直接投入 mobile app 開發。但實際投入開發之後,會發現很多 API 由於之後還是必須轉譯成 Objective-C,會發生很多異於 Objective-C 或異於 JavaScript 的行為,其中最容易發生誤差的即 flexbox。

採用 flexbox 雖然讓開發人員不需要學習新語言就可以上手,卻捨棄了 iOS 與 Android 原有的排版系統,並在排版的過程中發生非常嚴重的嵌套,幸虧 React Native 最後還是會轉譯回 Objective-C,效能損失不會太明顯。另外 flexbox 的標準還在草案階段,也造成 React Native 的排版系統日後可能還會有很大的變動。

這也是上一週週耗費最多時間的部分。

2. 研究 iOS app 的 beta releasing system

由於 Apple 對於裝置的安全政策非常嚴格,除了部署 app 到裝置上需要有 Apple 官方發佈的證書,要具備特定資格才可以使用 Apple 官方的 Testflight 服務,來發布 app 的測試版給特定使用者。

本週會需要 @rogi0318 支援提供 app 後台完整權限以研究完整的 Testflight 功能。

3. VIPER

app 架構極度偏重 view,也導致傳統的 MVC 架構很容易往 Controller 傾斜,變成 Massive Controller View本篇文章 介紹的 VIPER,是在新近 app 開發人員之間流行起來的開發架構。

由於 VIPER 偏向 native (Objective-C or Java) 的開發架構,在實際開發上暫時不會採用。

4. Jenkins + Dokku

本週研究 Jenkins 配合 Dokku 的部署流程。隨著 Docker 與 AWS 之間的協作架構愈來愈完整、參考資料愈來愈多,估計今年就會出現完整的 based-on-Docker 部署流程。現階段,最廣泛的 self-hosted CI/CD 服務仍以 Jenkins 為大宗,且還沒有出現足以撼動其地位的殺手應用,因此如果要架設 self-hosted CI/CD,還是以 Jenkins 為主。

reference: https://thomastoye.be/2015/play-framework-cd/


Henry Wu
Written by Henry Wu who lives and works in Taipei producing some nasty bugs.
Author: Henry Wu License: MIT License: CC BY-NC-ND 4.0