摘要:發(fā)布一周以來(lái),獲得了,登上了,在上進(jìn)入了前三。為什么要?jiǎng)?chuàng)造當(dāng)我在設(shè)計(jì)一個(gè)新的移動(dòng)端用戶的網(wǎng)站比如面向微信用戶的網(wǎng)站的時(shí)候,調(diào)研了一些現(xiàn)有的框架,應(yīng)用比較廣泛的有等。否則只能有中國(guó)人來(lái)關(guān)注你的項(xiàng)目了。要知道,外國(guó)開(kāi)發(fā)者比中國(guó)開(kāi)發(fā)者多很多倍的。
受邀寫(xiě)一篇 Mobi.css 的誕生歷程,請(qǐng)?jiān)徫椅矍虻臉?biāo)題,我會(huì)努力把這篇文章寫(xiě)得有一些干貨的。
GitHub Repo | Homepage
提要:
為什么要?jiǎng)?chuàng)造 Mobi.cssMobi.css 是一個(gè)輕量、靈活的移動(dòng)端 CSS 框架。發(fā)布一周以來(lái),獲得了 600+ stars,登上了 GitHub Trending Top1(CSS),在 Hacker News 上進(jìn)入了前三。
這篇文章會(huì)先介紹一下創(chuàng)造 Mobi.css 的思路,再介紹一下我在推廣 Mobi.css 中的心得。
當(dāng)我在設(shè)計(jì)一個(gè)新的 Focus on 移動(dòng)端用戶的網(wǎng)站(比如面向微信用戶的網(wǎng)站)的時(shí)候,調(diào)研了一些現(xiàn)有的 CSS 框架,應(yīng)用比較廣泛的有 Bootstrap, Foundation, Pure.css, Framework7, Skeleton 等。
他們都很優(yōu)秀,但是都有一些缺點(diǎn)。
Bootstrap: 太大太笨重了,對(duì)于桌面端用戶我希望展示與手機(jī)端一樣的頁(yè)面,可能再加上一個(gè)二維碼,將用戶導(dǎo)向微信(類(lèi)似于微信公眾號(hào)的文章在網(wǎng)頁(yè)中的樣式)
Foundation: 沒(méi)有實(shí)踐過(guò),看上去也很大,大部分都是我不需要的功能
Skeleton: 在移動(dòng)端有一些 bug,overflow:auto; 的滑動(dòng)不平滑, 樣式太丑,官網(wǎng)的
在 iPhone 里根本不 work,說(shuō)明他們沒(méi)有在手機(jī)上測(cè)試過(guò)
Framework7: 適合做 WebApp,而我不太喜歡那種仿原生 App 的設(shè)計(jì)
Pure.css: 很優(yōu)秀,足夠小巧,沒(méi)什么特別的缺點(diǎn),如果定制一下應(yīng)該也可以滿足需求。不過(guò)我還希望框架層面能夠有一些針對(duì)移動(dòng)端的設(shè)計(jì)
于是我決定自己造一個(gè)輪子。
造新輪子之前一定要做好調(diào)研,否則可能白費(fèi)了功夫。
開(kāi)發(fā)過(guò)程中的心得 善用工具CSS 框架相比于 JavaScript, React 等簡(jiǎn)單得多,但是也不能忽視了工具的使用。我選擇了以下工具:
Sass (scss)/Autoprefixer: CSS 預(yù)處理器都大同小異,Sass 功能比較全,所以選擇了它。移動(dòng)端也需要兼容不同設(shè)備,Autoprefixer 可以自動(dòng)加上 -webkit- 等前綴
Ejs/Marked/Highlight.js: 構(gòu)建 website 的工具,一開(kāi)始是手寫(xiě) HTML,發(fā)現(xiàn)根本 hold 不住。這些工具后期可以用靜態(tài)網(wǎng)站生成器替換
Gulp: 構(gòu)建工具,串起其他工具
Travis CI/GitHub Pages/Coding Pages: 靜態(tài)頁(yè)面服務(wù),一開(kāi)始手動(dòng)部署網(wǎng)站,后來(lái)發(fā)現(xiàn)太麻煩了,就用 Travis 自動(dòng)部署了
磨刀不誤砍柴工,善用工具可以大大提高開(kāi)發(fā)效率。
站在巨人的肩膀上開(kāi)源社區(qū)上的代碼都是別人的積累,如果離開(kāi)了它們,Mobi.css 很難在短時(shí)間內(nèi)完成開(kāi)發(fā),我借鑒了以下開(kāi)源項(xiàng)目:
Normalize.css: 大部分 _reset.scss 部分是借鑒它的。沒(méi)有直接引入它的原因是有少部分它的代碼是不需要的
Bootstrap v4: 使用最廣泛的 CSS 框架,可借鑒的太多了
Pure.css/Skeleton: 借鑒了手機(jī)上的樣式
微信公眾號(hào)的 desktop 版: 借鑒了在 desktop 上的樣式,以及中文字體
以及很多其他框架
重視寫(xiě)文檔開(kāi)源項(xiàng)目要受歡迎,文檔是非常重要的。README.md 要讓大家能在短時(shí)間內(nèi)了解項(xiàng)目的特點(diǎn)。網(wǎng)站要能夠盡可能輸出自己的理念。
如果可以的話,最好用英文(或者雙語(yǔ))寫(xiě)。否則只能有中國(guó)人來(lái)關(guān)注你的項(xiàng)目了。要知道,外國(guó)開(kāi)發(fā)者比中國(guó)開(kāi)發(fā)者多很多倍的。
不要擔(dān)心自己英語(yǔ)不好,只要表達(dá)的內(nèi)容能讓外國(guó)人看得懂即可。等項(xiàng)目成熟了,自然會(huì)有人幫你修改文檔。
注意社區(qū)的一些規(guī)則標(biāo)明 License
遵守版本號(hào)規(guī)則,不要亂做 Breaking changes
如何推廣不要覺(jué)得不好意思推廣,我們推廣不是功利性的求贊求關(guān)注(逃。
而是因?yàn)闆](méi)有人關(guān)注的項(xiàng)目,是不可能向好的方向發(fā)展的。而如果自己不做主動(dòng)的推廣,項(xiàng)目也很難被關(guān)注。
推廣這部分其實(shí)我并不是很擅長(zhǎng),這里只寫(xiě)出一些我自己的心得吧。
在對(duì)的時(shí)間發(fā)對(duì)的帖一般在下班的時(shí)間,大家都會(huì)拿出手機(jī)刷一刷。這時(shí)你的貼最容易被曝光。等到人氣上去了,晚上睡覺(jué)之前大家再刷一波手機(jī),就有更多人看到了。
發(fā)帖的時(shí)候只需要簡(jiǎn)要的說(shuō)重點(diǎn),引導(dǎo)用戶到 GitHub 或你的網(wǎng)站。但是慎用「求 star」等字眼,功利性太強(qiáng)。
推廣渠道我用了以下推廣渠道(按推廣效果排序):
Hacker News
V2EX
開(kāi)發(fā)者頭條
SegmentFault
Hacpai
Startup News
光谷社區(qū)
自己的想法總歸是一個(gè)人的,吸取了別人的建議才能讓項(xiàng)目更好的發(fā)展。Mobi.css 就有一部分 API 是聽(tīng)取了別人的建議之后修改的。
當(dāng)然,自己需要有自己的判斷。Mobi.css 的準(zhǔn)則很簡(jiǎn)單:這個(gè)設(shè)計(jì)是不是 focus on mobile 的。
最重要的是,項(xiàng)目要有價(jià)值沒(méi)有價(jià)值的項(xiàng)目即使推廣再多,也沒(méi)有人會(huì)關(guān)注的,只會(huì)招來(lái)一頓猛噴。
總結(jié)Mobi.css 在短時(shí)間內(nèi)獲得了很多關(guān)注,離不開(kāi)大家的支持,離不開(kāi)開(kāi)源社區(qū)的幫助。
我知道這只是 Mobi.css 項(xiàng)目的開(kāi)始,后面有更長(zhǎng)的路要走,感興趣的可以一起來(lái)建設(shè)。
GitHub Repo | Homepage
Hacker News 上的討論
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/111528.html
摘要:最近做了一個(gè),頗廢了一番功夫。簡(jiǎn)單介紹是一個(gè)輕量,靈活的移動(dòng)端。特點(diǎn)如下只有,比等所有庫(kù)都小大量使用,非常靈活,基本上沒(méi)有寫(xiě)額外的,只有不到行的,在端相當(dāng)于展示的還是的頁(yè)面,不過(guò)可以在左側(cè)或右側(cè)加上側(cè)邊欄更多介紹請(qǐng)看最后奉上的 最近做了一個(gè) css library ,頗廢了一番功夫。 這里先把它分享給大家,歡迎 star ,歡迎試用! GitHub Homepage PS :將來(lái) ...
摘要:學(xué)習(xí)不打烊,充電加油只為遇到更好的自己,天無(wú)節(jié)假日,每天早上點(diǎn)純手工發(fā)布面試題死磕自己。希望大家在這浮夸的前端圈里,保持冷靜,堅(jiān)持每天花分鐘來(lái)學(xué)習(xí)與思考。 今天的知識(shí)點(diǎn) (2019.08.28) —— 第134天 [html] Web Worker線程的限制是什么? [css] transition、animation、transform三者有什么區(qū)別? [js] [請(qǐng)寫(xiě)出如下代...
摘要:官網(wǎng)是圍繞構(gòu)建的,是一個(gè)免費(fèi)的開(kāi)源框架。官網(wǎng)在壓縮后僅為,以移動(dòng)優(yōu)先的理念為中心。官網(wǎng)被稱(chēng)為輕量級(jí)響應(yīng)式現(xiàn)代化,是一個(gè)基于的框架。通過(guò)添加主題或自定義組件能夠幫你進(jìn)一步開(kāi)發(fā)個(gè)性化的。官網(wǎng)有時(shí)框架可以包含僅對(duì)其原始開(kāi)發(fā)人員有意義的類(lèi)名。 翻譯:瘋狂的技術(shù)宅原文:https://1stwebdesigner.com/mo... 本文首發(fā)微信公眾號(hào):前端先鋒歡迎關(guān)注,每天都給你推送新鮮的...
閱讀 1271·2021-10-18 13:32
閱讀 2347·2021-09-24 09:47
閱讀 1333·2021-09-23 11:22
閱讀 2469·2019-08-30 14:06
閱讀 576·2019-08-30 12:48
閱讀 2006·2019-08-30 11:03
閱讀 543·2019-08-29 17:09
閱讀 2469·2019-08-29 14:10