search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

如同微信的小程序,Pin 3.0 也做了一套「小程序」系統,目標是讓生活更有效率

編註:曾獲蘋果年度十佳 App 的剪貼板效率應用 Pin 在今天發布了 3.0 大版本更新,新增了「xTeko 實驗室」模塊。有編程經驗的用戶可以利用它製作擴展,沒有編程經驗的用戶,也可以通過內置商店下載製作好的擴展直接使用,用 Pin 開發者鍾穎的話說就是「Pin 的小程序系統」。可以說 xTeko 拓寬了 Pin 的能力範圍,讓它做到了很多以前做不到的事情。

本文作者是 Pin 的開發者鍾穎,他將以通俗易懂的方式,向大家詳細介紹 Pin 3.0 的變化。

Pin 今天推出了上線以來最大的一次更新:「xTeko 實驗室」,用一句話概括這次更新的話就是:Pin 3.0 支持基於 JavaScript 的擴展程序,這意味著 Pin 已經從一個剪貼板應用蛻變成了「可擴展的效率利器」。

能做什麼

對於大部分的用戶而言,這個功能能做什麼是最重要的。通俗的講,xTeko 帶給 Pin 一種插件熱插拔的能力,讓 Pin 可以隨時載入、拆卸基於 JavaScript 編寫的各種擴展,用一個通俗的比喻就是:Pin 的小程序系統。

雖然從技術的角度並無多少相似之處,但這樣是最容易理解的。

但是 xTeko 也有一些獨特的優點,例如:

  • 支持運行在通知中心上;

  • 支持運行在分享面板上;

  • 支持豐富的原生介面調用,並且不斷在增加;

  • 支持通過 Pin 內置的動作系統啟動,與 Pin 現有功能有緊密的結合;

  • 僅僅需要 JavaScript 就能寫出擴展,無須任何依賴以及 iOS 知識;

  • 支持構建純原生、高性能的 iOS 用戶界面。

完全支持一門編程語言的標準是極為重要的,這意味著它能解決絕大部分「編程能解決」的問題,所受限的只是你的想象力。

如何使用

正如上述內容提到的,擴展插件支持很多的入口,所以我們有必要看看如何使用它,在這裡會盡量介紹一些有趣的例子。

xTeko 實驗室

在這裡可以點擊播放鍵運行擴展,界面支持滑動返回(到了首頁繼續返回將關閉界面):

通過長按可以對擴展進行排序操作:

排序操作

滑動可以刪除某個擴展:

目前這個編輯器支持簡單的代碼高亮和格式化操作,將會在之後的更新中逐步完善對自動提示的支持。

想要安裝擴展?打開擴展商店便可以瀏覽在線推薦的擴展插件(目前擴展數量不多,還沒有提供搜索操作):

擴展商店

從通知中心啟動擴展

Pin 作為從通知中心起步的應用,對通知中心的支持是必不可少的,所以大部分的擴展都會支持從通知中心運行,並且 Pin 3.0 提供了一個獨立的插件:

從通知中心啟動擴展

不過受限於 iOS 的系統限制,部分功能無法在通知中心直接運行(例如拍照),部分功能在通知中心運行效果較差(例如列表不能滾動),退而求其次的,xTeko 可以從通知中心打開到主應用內去運行。

從分享面板啟動

除了新增加的通知中心小部件以外,Pin 3.0 還提供的獨立的分享面板插件,可以方便的從分享面板啟動各種擴展:

從分享面板啟動

這種操作方式帶給了 Pin 增強其它應用的能力,只要從分享面板中啟動,將可以獲取的分享的數據,之後我們將看到一些有趣的例子。

如何安裝擴展

Pin 的擴展插件支持多種安裝方式,除了可以直接在擴展商店裡面安裝以外,還可以通過以下方式安裝:

  • 通過打開擴展商店分享出來的鏈接直接安裝;

  • 如果是在電腦上打開的分享頁面,可以通過掃描二維碼安裝;

  • 支持通過 Web 伺服器從電腦端傳輸腳本到 iOS 設備;

  • 支持 AirDrop 從 macOS 傳輸腳本到 iOS 設備;

  • 支持從別的應用通過分享面板拷貝到 Pin 裡面;

  • 支持通過 URL Scheme 安裝擴展,例如:

    pin://install?url=https%3A%2F%2Fraw.githubusercontent.com%2Fcyanzhong%2FxTeko%2Fmaster%2Fextension-scripts%2Fapi.js&name=%E6%B5%8B%E8%AF%95%E5%9C%A8%E7%BA%BF%E5%AE%89%E8%A3%85&icon=icon\_063.png
  • 複製腳本的鏈接,通過實驗室的導入功能。

  • 提供多種方式是為了讓擴展腳本的分享變得更便捷,後續會考慮讓用戶上傳自己的腳本,讓擴展插件的分享變得進一步簡單。

    一些有趣的例子

    描述總是空洞的,再詳細的描述不如看例子來的容易理解,這裡展示幾個擴展插件的功能(均可以從商店下載)。

    • 在通知中心查詢匯率:

    • 查看微信上面不支持預覽的文件:

    • 在相冊搜索圖片(以圖搜圖):

    • 在 App Store 上面獲取資源:

    • 在 App Store 上面查看應用信息:

    • 圖片打包分享:

    • 在 Safari 上面查看網頁源碼:

    以上只是部分擴展插件的效果展示,在之後擴展商店的內容也會不斷的更新,從而可以實現各種各樣的需求,需要的時候安裝,不需要時即可卸載。

    如何開發 xTeko 插件Pin 3.0 支持的是標準 JavaScript,也就是說所有 ECMAScript 標準的內容都可以使用,但不包括 BOM 也就是瀏覽器對象,例如 window在 xTeko 實驗室中有默認安裝的兩個插件 API 示例UIKit 示例,分別展示了部分 API 如何使用,以及如何實現自定義的界面,可以起到較好的參考作用。

    將寫好的代碼通過上述提到的安裝方式安裝到 iOS 設備上,就能夠運行、測試了。

    在一篇以用戶為主要受眾的文章中,並不會介紹過多的開發細節,關於開發所有的細節都在 官方文檔 里:

    亟待解決的問題

    其實 xTeko 從打算開始做到現在已經陸陸續續持續了半年時間,按理說應該拿出一個很靠譜的版本才對,實際上現存的版本有很多問題:

    • 無法重命名一個擴展(已經提交新版解決);

    • 在商店更新擴展並不方便(正在實現新的界面);

    • 通知中心性能不好,部分擴展運行起來會崩潰;

    • 開發過程中不好調試(正在優化);

    • 部分開發介面文檔缺失,或者不夠詳細(正在細化)。

    很抱歉現狀並不夠好,在之後的更新中將會努力地逐步的優化,敬請期待。

    一些相關信息

    最重要的是 xTeko 的 官方文檔, 之後任何關於擴展插件框架的更新都會同步到這裡。

    同時,我們也建立了一個 Telegram Channel 用於推送擴展商店上面的更新,歡迎訂閱:點此訂閱

    當然,歡迎任何對此有興趣的開發者朋友關注 這個開源項目,上面會同步所有的腳本更新和用戶教程更新(也歡迎提交 PR)。

    最後,一如既往地,不管是用戶還是開發者,都歡迎通過郵件交流使用或者開發方面的問題:[email protected]

    xTeko 的願景

    儘管 xTeko 的現狀是渺小的,但它的願景是偉岸的:

    • 讓有能力寫程序的人寫程序;

    • 讓有能力改代碼的人改代碼;

    • 讓有興趣的朋友加入這個隊伍;

    • 讓小白也可以從商店安裝擴展。

    Write script for your life,為你的生活編寫腳本。

    一起做點有趣的事,我們最終的目標是讓生活更有效率。

    P.S. 「xTeko」這個單詞是我胡亂拼湊的,沒有任何意義,但正如 xkcd 一樣,如果說刻意讓其沒有意義也算是一種意義,那 xTeko 的想法就如同 xkcd 網站:想要一個沒有任何意義的名字,這樣就不會有一天對其感到厭倦。

    下載少數派 iOS 客戶端,不再錯過任何一款好用的 App



    熱門推薦

    本文由 yidianzixun 提供 原文連結

    寵物協尋 相信 終究能找到回家的路
    寫了7763篇文章,獲得2次喜歡
    留言回覆
    回覆
    精彩推薦