hi个绍,如你所見(jiàn)這又是一篇譯文勒葱,我的第6篇浪汪,原作者: Jasim A Basheer 英文無(wú)障礙的同學(xué)建議直接閱讀原文,部分鏈接需要科學(xué)上網(wǎng)凛虽,have fun~
Sketch 43 將要在幾個(gè)星期后發(fā)布了死遭,在未來(lái)幾年它將根從本上改變?cè)O(shè)計(jì)工具的使用方式。
從“為第三方開發(fā)者提供更強(qiáng)大的集成”開始. 這是 Bohemian Coding(Sketch 的開發(fā)商) 這幫人已經(jīng)做好的事——?他們開放了 Sketch 的文件格式凯旋,變成JSON呀潭。讓任何人都能創(chuàng)建和修改兼容 Sketch 的文件。
如果你想知道至非,它長(zhǎng)這樣:
這只是個(gè)文本文件——任何有編程基礎(chǔ)的人都能創(chuàng)建一個(gè)像這樣的文件钠署。不需要 SketchApp ,甚至不需要在 Mac 上實(shí)現(xiàn)荒椭。
想象一下什么新鮮玩意會(huì)發(fā)生谐鼎? 四個(gè)字:自動(dòng)化設(shè)計(jì)(好吧,五個(gè)字了)戳杀。你想讓 Artboards(畫板) 展示一個(gè)字體和它的變化嗎该面,像 Google Fonts 一樣?可能會(huì)有一個(gè)腳本來(lái)生成那個(gè)文件信卡。你可以從一個(gè)網(wǎng)頁(yè)上下載符合你的需求的 Sketch 文件——??比如一個(gè)圖片流隔缀,一個(gè)啟動(dòng)頁(yè), 或者是一個(gè)注冊(cè)表單傍菇。你將可以選擇品牌顏色猾瘸,主題,任意排布它們丢习,瞧牵触!你會(huì)這樣用 Sketch 開始你的設(shè)計(jì)。有人甚至可以在瀏覽器上搭建一個(gè)差不多的 Sketch咐低±克迹可見(jiàn)可能性是無(wú)窮的!
我激動(dòng)的原因當(dāng)然是因?yàn)?Protoship 见擦。我們?cè)?Sketch 有兩個(gè)熟悉的工具:Teleport 能把網(wǎng)頁(yè)轉(zhuǎn)化成 Sketch 的設(shè)計(jì)文件钉汗,UIPad 可以把 Sketch 中的設(shè)計(jì)轉(zhuǎn)化成 HTML,CSS和交互鲤屡。
以前我們通過(guò)寫大量的 Sketch 插件來(lái)運(yùn)行 Teleport 损痰,它創(chuàng)建圖層面板,添加文本酒来,插入圖片這些功能卢未,全部都是用了 Sketch 內(nèi)部的 API(接口)。是的,如果你是個(gè)開發(fā)和辽社,你得好好讀一下它——Sketch 內(nèi)部的 API 文檔伟墙。這里是一段粗略的代碼:
function createArtboard() {
var artboard = MSArtboardGroup.alloc().init();
artboard.setName(layerTree.originalName);
var fill = layer.style().addStylePartOfType(0);
fill.color = rgbaToMSColor(backgroundColor);
var frame = layer.frame();
frame.setX(node.rulerX);
frame.setY(node.rulerY);
frame.setConstrainProportions(false);
frame.setWidth(node.width);
frame.setHeight(node.height);
layer.setName(node.originalName);
}
這和我們使用 Teleport 在 Sketch 中創(chuàng)建 Artboard 的代碼很類似。我們使用的功能(例如 MSArtboard )和 Bohemian Coding 他們自己搭建 Sketch 使用的幾乎是同一個(gè)東西滴铅。這是他們插件架構(gòu)的精髓:他們讓插件和 Sketch 在同一進(jìn)程空間內(nèi)執(zhí)行——父進(jìn)程中沒(méi)有明顯的 API 也沒(méi)有任何沙箱远荠。插件開發(fā)者們幾乎和 Bohemian 的開發(fā)者們有著同樣的權(quán)限,因?yàn)椴寮梢栽L問(wèn) Sketch 內(nèi)部的代碼失息!
譯者:這段太多專業(yè)詞了,我盡力了= =
這種自由開放的做法使 Sketch 的第三方插件生態(tài)系統(tǒng)欣欣向榮档址。而且這已經(jīng)成為 Sketch 區(qū)別于競(jìng)爭(zhēng)者的主要特征盹兢。這個(gè)生態(tài)系統(tǒng)的深度和廣度參見(jiàn) Sketch 官方插件目錄。如果 Bohemian Coding 沒(méi)有意愿或是資源來(lái)建立一個(gè)功能守伸,這個(gè)社區(qū)就會(huì)來(lái)做绎秒。
這不是偶然—— Bohemian 在多年來(lái)一直在多方面支持第三方生態(tài)系統(tǒng)。幾年前他們聘請(qǐng)了超厲害的 Ale Munoz 作為技術(shù)布道師(Developer Evangelist技術(shù)布道師尼摹,參見(jiàn)百度百科)见芹,同時(shí)為插件開發(fā)者們建立了一個(gè)活躍的社區(qū)。
Sketch 自身就配備了一個(gè)內(nèi)建的 REPL (可以簡(jiǎn)單理解為一個(gè)編程器蠢涝,可以在里面寫代碼玄呛,然后它會(huì)給你返還結(jié)果),任何人可以立刻在上面寫一個(gè)插件和二,只要點(diǎn)擊保存就會(huì)自動(dòng)打包成可分配的插件徘铝。沒(méi)有額外的操作——全都在軟件內(nèi)完成。這使得 Sketch 的用戶很容易上手開發(fā)一款插件惯吕,而且他們也很愿意上鉤惕它。
但是我不想打擊這個(gè)龐大的插件生態(tài)系統(tǒng)。這里面不全是蜂蜜鮮花和甜甜圈废登。
這整件事其實(shí)是無(wú)證明書的淹魄!做任何非凡的事都是痛苦的。首先你不得不去翻閱郵件列表堡距,希望有些人已經(jīng)問(wèn)過(guò)相同的問(wèn)題甲锡,然后去尋找其他類似的插件代碼,最終你放棄了并在論壇中提問(wèn)吏颖。更不用提一些老掉牙的 API 問(wèn)題搔体。當(dāng)編寫 Teleport 和 UIPad 時(shí),Sherin 和我花了好幾個(gè)星期盯著 Sketch 的 classdump 半醉,試圖反向調(diào)用我們需要的 API疚俱。
但是我想對(duì)這一切表明一點(diǎn)看法:盡管插件開發(fā)是無(wú)證名和痛苦的,開發(fā)者仍然在上面瘋狂地開發(fā)有價(jià)值的東西缩多。它沒(méi)有很多選擇呆奕!Sketch 是一個(gè)擁有大量用戶基數(shù)的設(shè)計(jì)開發(fā)平臺(tái)养晋,它是無(wú)可替代的。開發(fā)者(通常也是用戶)也愿意忍受任何事情去嘗試開發(fā)一個(gè)自己使用的工具梁钾。
開放了文件格式之后绳泉,Sketch 把規(guī)則升級(jí)了。競(jìng)爭(zhēng)者需要注意了姆泻。Adobe XD 區(qū)別于其他同類軟件的主要武器是在工作流中無(wú)縫整合設(shè)計(jì)稿和原型(畢竟 Adobe 家族有那么多兄弟姐妹)零酪,同時(shí) Figma 則是協(xié)作。
Adobe 是一家有大量資源的公司——忘掉他們現(xiàn)有的用戶基數(shù)使得他們?cè)谶@個(gè)領(lǐng)域幾乎處于壟斷地位拇勃,忘掉他們大量的財(cái)政資源四苇。僅僅是這家公司高性能圖形處理工具的技術(shù)就足以讓人興奮。他們幾乎發(fā)明了這個(gè)領(lǐng)域方咆。
Figma 是一個(gè)擁有一群聰明人的資金雄厚的公司月腋。其中一個(gè)創(chuàng)始人寫了一個(gè)編程語(yǔ)言用在了一部分產(chǎn)品開發(fā)上。他們內(nèi)部有良好的算法瓣赂,而且 Figma 在瀏覽器上運(yùn)行卻使用高性能的 C++ 編寫榆骚。
我不應(yīng)該忘記 Serif。這家公司生產(chǎn)的工具是可靠的 Adobe 替代品煌集。他們有一個(gè) Photoshop 的競(jìng)爭(zhēng)產(chǎn)品 Affinity Photo 妓肢,它幾乎能做所有 Photoshop 能做的事,而且沒(méi)有缺陷牙勘。他們也有一個(gè)高性能的 Sketch 替代品职恳,Affinity Designer,它得到了許多用戶的好評(píng)方面。
隨著競(jìng)爭(zhēng)者一個(gè)一個(gè)冒出來(lái)放钦,我想知道 Bohemian Coding’s 的長(zhǎng)遠(yuǎn)的眼光。他們只是一個(gè)用可持續(xù)增長(zhǎng)引導(dǎo)的企業(yè)恭金,沒(méi)有資源去和 Adobe 操禀、Figma 去玩增加功能的游戲。
但是 Pieter Omvlee(Sketch創(chuàng)始人) 并不在乎競(jìng)爭(zhēng)者横腿,他對(duì)產(chǎn)品和商業(yè)十分熱愛(ài)颓屑。如果團(tuán)隊(duì)按照用戶要求的去做,比如他們嘗試在 Sketch 中整合原型和自動(dòng)布局功能耿焊,就會(huì)使團(tuán)隊(duì)成為科學(xué)怪人——同時(shí)在用戶體驗(yàn)和代碼庫(kù)方面(作為一個(gè)小科技企業(yè)這是一個(gè)不可修復(fù)的錯(cuò)誤)揪惦。軟件項(xiàng)目就像一個(gè)活生生的有機(jī)體,如果你投入太多太快罗侯,它終將因它的重量失敗器腋。
所以當(dāng)原型設(shè)計(jì)風(fēng)靡一時(shí),Bohemian 卻在支持開發(fā)嵌套的 Symbols 。這解決了我在 UIPad 上的許多問(wèn)題纫塌,所以我十分感激诊县。同時(shí)他們?cè)诘谌缴鷳B(tài)系統(tǒng)中投入巨資,這比其他所有事情的優(yōu)先級(jí)都高措左。它讓其他人去創(chuàng)建原型設(shè)計(jì)工具(不是一個(gè)依痊,而是很多個(gè)!)整合到 Sketch 中怎披,完全規(guī)避了這個(gè)問(wèn)題⌒剜遥現(xiàn)在他們開放了自己的文件格式同時(shí)它的競(jìng)爭(zhēng)這甚至連一個(gè)插件系統(tǒng)都沒(méi)有。
如果你想了解更多有關(guān)新文件格式的信息凉逛,直接從有關(guān)人士口中聽吧——這是 Sketch 插件最初的功公告和隨后的激烈討論缴渊。有很多事要做——文件格式必須要穩(wěn)定,必須有證明文件鱼炒,開發(fā)者要坐下來(lái)好好創(chuàng)建一些東西在上面。
但是所有的探討都是我個(gè)人的觀點(diǎn)蝌借,他們很可能是錯(cuò)的昔瞧。開放文件格式可能僅僅是其他技術(shù)決策的有效副作用,并不是一個(gè)基本動(dòng)機(jī)菩佑。實(shí)際的可能性是——在 Sketch 43 中使用的格式包含專有的數(shù)據(jù)塊自晰,不能獨(dú)立操作,他們也同樣需要被開放使得 .sketch 成為通用的矢量設(shè)計(jì)文件格式稍坯。
我非常希望它能發(fā)生酬荞,并且興奮地思考著可能性。我們已經(jīng)有計(jì)劃去做一些很酷的事——小黑客們能使你的設(shè)計(jì)生活變得更簡(jiǎn)單瞧哟,這一切會(huì)體現(xiàn)在 Teleport 和 UIPad 上混巧。我們會(huì)花一下時(shí)間把他們做出來(lái),我也會(huì)經(jīng)常寫一些事情的進(jìn)展勤揩。觀察這個(gè)豐富多彩的空間咧党,你們也可以留言寫下自己的看法!
廣告一波:
- 如果你是 Sketch 新手或者想要進(jìn)階陨亡,把由 Christian Krammer 撰寫 Smashing Magazine 出版的 《The Sketch Handbook》帶回家吧傍衡。我曾瀏覽過(guò)這本書并且從中學(xué)到了很多!
- 大聲宣布 Marko 的 sketchtricks.com——一個(gè)偉大的新聞郵件服務(wù)负蠕,讓你學(xué)習(xí) Sketch 中的實(shí)用技巧
- 把 Protoship UIPad 告訴你的開發(fā)朋友——再也不需要手工敲 HTML 和 CSS 了蛙埂。自動(dòng)生成它們吧!
譯者:這篇太費(fèi)勁了遮糖,以前我從沒(méi)想過(guò) Sketch 的插件生態(tài)有這么厲害绣的,這就是開放的力量呀。