用 iPad Pro 作為我的主力工作電腦

簡評:用 iPad 作為主要工具,來完成基本的工作。(也要看不同的工作內容)

TL;DR

我可以用 iPad Pro 完成所有的編程和系統管理工作,我通過 ssh 在遠程伺服器上工作,我更喜歡使用 Unix / Linux 命令行。

幾個月前,我買了 10.5 " iPad Pro 以及蘋果的智能鍵盤,試圖通過它們來作為我的工作電腦。我關注 iPad Pro 一段時間了,一直猶豫買 10.5 吋還是 12 吋還是買 MacBook。在 2015 年前,我一直都在用 MacBook,15 年我切換成了 Chromebook Pixel LS,我現在仍然在使用這款筆記本(這是我用過的最好的筆記本電腦),當時我就想了,我既然可以完全使用 Chromebook,那也可以使用 iPad Pro 來工作。

iPad Pro 在尺寸、重量、續航、屏幕(老眼昏花的我)、安全性、和眾多 iOS App 吸引了我。

現在我所有工作都可以用 iPad Pro 來完成,並且開始喜歡這種感覺,但使用 iPad 意味著會改變我的工作流程並做出一些妥協。

你是否可以完全用 iPad Pro 代替主機主要取決於你的工作性質,它可能不適合所有人,但是很適合我,因為我的要求相當簡單。我供職於美企,生活在泰國,我平時旅行相當多。我平時主要是遠程編程辦公(在舊軟體上進行一些新開發)並且有很多系統管理的工作。我曾經在我最後的 MacBook 上運行本地網站,後來在 Pixel 上面也是如此(用 Crouton 運行 Linux 發行版),但是我要使用太多的系統,而一個筆記本滿足不了我。

我很多客戶的 Linux 代碼在雲伺服器上運行(AWS、Rackspace,Digital Ocean 等等),如果他們沒有代碼和版本控制的動作,我都會把他們放在一起,放在我的私人 GitHub 倉庫。如果他們沒有開發/臨時環境,我也會設置一下,通常在一個單獨的伺服器上複製生產環境斌關閉一些功能(如 Email、信用卡交易功能等)。

我如何工作?

我使用 ssh 訪問伺服器,用命令行工作。我在 Unix / Linux/命令行(grep、ack、screen、tmux 等)/編輯器(Vim)等方面有數十年的經驗,所以我在家用 terminal 和 shell 感覺還挺順暢。我曾嘗試用 Cloud9 和 CodeAnywhere 等雲 IDE,它們可以工作,但是很慢,佔用很多資源(因為在 JS 運行),Cloud9 在 Chromebook 上運行的很好但是 iOS 上不行,我用 iPad 之後就不再用 Cloud9 了。我個人不太喜歡 IDE,但是我覺得 Cloud9(亞馬遜的產品)等雲 IDE 有很大潛力,希望它們能夠繼續改進。我使用 repl.it 來測試代碼,該服務已經開始添加 IDE 類的功能,甚至添加 Web 應用程序託管。

平均來說,我工作時間分配如下:

  • 50% 與客戶溝通,確定需求,制定任務,研究解決方案。
  • 25% 閱讀代碼,自己的代碼,和接手的代碼,以及我僱傭的程序員的代碼。
  • 25% 編寫和測試代碼。

在 iPad Pro 上我主要用的工具:

  • Inbox (GMail 客戶端)
  • Skype 和 Hangouts
  • Slack
  • Blink (支持 mosh 的 ssh 客戶端,很省時間)
  • Working Copy (git 倉庫的本地拷貝)
  • CodeHub (GitHub 客戶端)
  • Textastic (附帶工作副本和 sftp 的代碼編輯器)
  • Dash (離線文檔)
  • Google Drive, Sheets, 和 Docs
  • Google Keep, for notes, to-do lists, saving web sites

我的個人網站上寫了一些如何有效與客戶溝通,如何提高工作效率的文章。我主要用 Email,偶爾打電話,對於大型項目我試著讓我的客戶在 GitHub 上提 issue,但是我的客戶更傾向於 Email,Slack 或者聊天軟體(Skyper 或者 Hangouts),我不強制要求溝通渠道,反正我幾秒鐘就可以把內容複製粘貼到 GitHub 上。

iPad Pro 的巨大優勢

  • 快,賊快
  • 很棒的顯示方式
  • Smart Keyboard 驚人的好
  • 單獨的應用有助於我專一的完成工作(我一般都是關閉所有通知)
  • 超長續航,充電快速
  • 輕便,一個挎包就能攜帶
  • Apple Pencil 可以做一些很酷的事情,比如注釋 PDF(我不會設計和繪畫)

iPad Pro 編程上的劣勢

  • 我很想要一個觸控板(或者滑鼠),觸摸屏和 Apple Pencil 不是那麼習慣。
  • 尷尬的文字處理。幸好我主要用 Vim 多於 ssh,要不然我早都放棄 iOS 了。
  • 密碼管理不如 OSX 或者 ChromeOS(我主要用 LastPass)。
  • 多任務不如筆記本(另一個方面想,不會讓人分心)。
  • 亂七八糟的手勢操作太多了。
  • 自動更新,很多時候自己彈出,很煩。
  • Smart Keyboard 沒有退出鍵,這是 vim 用戶的小煩惱(但很容易解決)

編程工作流程

通常我使用 git 控制下的遠程 Linux 伺服器上的代碼,通過 ssh/sftp 訪問伺服器和 GitHub 倉庫。

首先,我可以使用 Blink 將 mosh 或者 ssh 連接伺服器,通過命令行工作,我比較習慣這種方式(以前我在 MacBook 和 Chromebook 上用 shell),你可以找到 iOS 上的 ssh 客戶端,它們都不錯,我曾經用過 Prompt 不過我還是喜歡 Blink 因為它支持 mosh。

第二步,我把 Git 倉庫拖到本地並創建副本瀏覽代碼,或者用 Testastic 來編輯代碼。然後我可以提交並推送更新,或者用 ssh 同步更新。

ssh VS mosh,以及遠程支持

我不想浪費太多時間在酒店和咖啡店尋找 wifi,我通常把手機設為熱點使用 4G 流量。我主要通過 ssh 使用文本工作不會耗費太多的流量。mosh 增強了 ssh 的鏈接,因此可以更好地應對延遲和斷線重連,計算我從咖啡店的 wifi 切換回我的熱點,也能保持在線狀態。我還在遠程伺服器上使用 screen 和 tmux,以保證簡訊鏈接是多個終端的正常運行。及時我合上 iPad 切換到筆記本電腦,也可以隨時保持通暢。

我在 Google 台灣數據中心購買了低端的 GCE 伺服器(幾乎免費),它運行 mosh 和 ssh,我所有的 keys 和 server connection 都在上面,我發現使用iPad 或者筆記本 mosh/ssh 鏈接該伺服器,然後使用 ssh 連接美國運行的客戶端伺服器,可以更快更穩定的連接。有點像 VPN。我可以在我的伺服器上安裝任何我想要的工具。

我懷念什麼?

用 iPad Pro 辦公的一大遺憾是我不能用 Chrome 開發者工具。我使用這些來調試 HTTP,測試 JavaScript、JQuery、HTML、CSS。MIHTool 應用為我提供了這些功能,但是不如 Chrome 開發者工具那樣流暢和強大。我特別希望 iOS 能有 Safari 開發者工具。

Postman,測試 API 的工具。雖然我可以用 curl 命令行做同樣的事,但是 Postman 的讓 API 測試很有趣。

簡單的圖片編輯能力。OSX 的預覽功能我很喜歡。但是 iOS 上把圖片微調、尺寸修改,轉換格式都不方面。

所以在需要測試 API 以及使用開發者工具的時候,我還是會用 Chromebook。

在 iPad 上開發 iOS?

儘管 Apple 為 iPad 發布了優秀的 Swift Playground 學習工具,但是在 iPad 上開發 iOS 還是不顯示,你還是要用 Mac。當然了我也聽說有人用 iPad 開發 iOS,不過對我來說沒所謂,我不寫 iOS。

為什麼不用 12" MacBook

12 英寸 MacBook 和 配上鍵盤的 iPad Pro 重量幾乎一致,續航也差不多。但是 iPad Pro 擁有更快的處理器和更好地顯示效果,價格也更便宜。我把MacBook 與 iPad Pro 對比過好幾次,發現 MacBook 的鍵盤更難用(這個也讓我很驚訝)。即使 MacBook 更新到最新系統,也讓然讓我覺得卡頓,而 iPad Pro 似乎更快,A10X 在體驗上擊敗了 i5。

而且我已經有一台筆記本了,我想嘗試一些不同的東西。

原文:Typical Programmer


園長:如果單純的編程,iPad 可能並不完全合適。但作為補充足夠用了。

極光日報,極光開發者旗下媒體。

每天導讀三篇英文技術文章。


推薦閱讀:

DevDocs, windows下Dash的替代品,括弧笑
學習Git(二)基本操作
百家爭鳴,誰是王者?
小工具有大用處,編程道路上從此少點煩惱
C語言基礎:不定參數

TAG:編程 | iPadPro | 計算機科學 |