今天首先給你們隆重推薦一款移動端WebApp開發神器:Framework7。固然啦,這篇帶有比較強烈的主觀意識偏好,而且創建在一個必要的前提之上:你但願快速開發一款移動端的WebApp,可是團隊裏並無資深的前端工程師。前端
Framework7 - 是一款開源免費的移動端 HTML 框架, 用於開發接近原生iOS或Android系統外觀和體驗的 hybrid mobile apps 或 web apps。固然你也能夠把它當成一款快速製做高保真APP原型的工具。jquery
Framework7 的主要目標是讓你可以輕鬆地使用 HTML, CSS and JavaScript 開發iOS 或 Android 應用。Framework7 是很是靈活的。 它並不會限制你的想象力或者強制搭配某些架構方案。 Framework7 給你最大程度的自由。ios
Framework7 並不打算兼容全部平臺。 它主要專一 iOS 和 Google Material design 以帶來最好的用戶體驗並保持簡單。git
若是你打算開發 iOS 或 Android 平臺下接近原生系統應用外觀和體驗的 hybrid app (PhoneGap) 或者 web app 的話 Framework7 絕對適合你。github
使用 Framework7 開發 iOS 應用就像開發傳統網站同樣簡單。 試着上手實踐一下你就會發現它驚人的簡單。你只須要一個簡單的HTML頁面並引入 Framework7 的 CSS 和 JS 文件便可。Framework7 並不強迫你寫那些須要JS處理的自定義標籤(不像Angular或React)。 也並強迫你把全部內容都寫在 JavaScript (或JSON)裏面。 僅僅是普通的HTML,你在HTML裏面寫什麼就是什麼。沒有黑魔法,沒有MVVM,沒有複雜高深的理論或者工具須要學習。web
上面已經提到Framework7 是一款側重 iOS 的框架。 從一開始,就考慮到如何最方便快捷地實現iOS平臺上各類驚豔的UI組件,以及複雜的動畫和靈活的觸摸交互。因此Framework7是你實現像素級精確iOS應用的最佳選擇。api
Framework7 Material 皮膚嚴格按照 Google Material 設計規範實現, 像素級精確實現了 Material 特性 - 包括視覺設計、配色和交互效果。那麼如今, Framework7 也是建立擁有原生 Material 界面和體驗的 Android 應用的一個不錯選擇了。緩存
Framework7 自帶不少能夠直接使用的UI組件和插件,好比 modals,popup,action sheet, popover, list views, media lists, tabs, side panels, layout grid, preloader, form elements 等。前面提到的大部分組件都徹底不須要你寫任何JS代碼。性能優化
僅僅具有上述特徵的話其實不少框架都具有,然而讓我如此推崇這款框架的主要緣由是它的幾個獨有的殺手鐗功能。網絡
Framework7的一個最大特點就是提供了的滑動返回功能,當你從屏幕左側向右滑動的時候能夠返回到上一個頁面。而且,這不是一個 A-B 動畫,她徹底跟隨你的手指觸摸而移動。
是否是但願你的應用能像在郵件中同樣向左滑動一條消息就能夠刪除?Framework7 的列表元素有相同的功能,而且有一樣平滑的動畫和觸控交互。
就像上面說過的,Framework7讓一切都有iOS7的體驗。其中一個重要的特色就是動態導航欄。當你切換頁面的時候能夠清楚地看到導航欄的元素是如何滑動並漸變的。
Framework7 多是第一且惟一一個使用原生滾動條實現下拉刷新功能的框架。這就是爲何Framework7的下拉刷新組件能夠和原生的iOS應用相媲美的根本緣由。
Framework7 有一個很是強大的」聊天「組件,你能夠很容易定製並集成到你的app中,而後經過實時同步推送數據服務(好比 pusher 或者 PubNub)來實現不一樣用戶之間發送消息。
Framework7 的一切都是很是簡單的,全部的樣式都被拆分紅了模塊化的小 .less
文件,因此定製本身的樣式很是容易。
實例展現裏能夠看到基於 Framework7 開發的已上架 iOS 和 Android 應用:
Framework7最大的特色之一就是使用了原生的滾動條。因此你的滾動條會有原生滾動條同樣的加速度和回彈,沒有任何bug和性能問題。
Framework7支持多個獨立的視圖(view)。而且你能夠不用寫任何JS,只須要在連接上加一個 data-view 就能夠控制每個視圖。
Framework7 不依賴任何第三方框架。因此它很輕量、高性能且靈活。
使用Framework7不須要學習任何新的知識,她的JS接口很是簡潔易用而且功能強大。好比,當你須要彈出一個alert的時候你只須要 app.alert("Hello World!")。
Framework7 只使用帶硬件加速的CSS動畫以達到最好的性能。
Framework7最主要目標之一就是讓你的Web應用和iOS本地應用有相同的外觀和交互體驗。而且Framework7是惟一一個坐到了1:1精確平滑的頁面切換動畫的框架。
這幾個功能的組合可讓你的應用的路由功能變得很是強大。Framework7 經過Ajax來加載新頁面,而且能夠經過緩存配置讓頁面的加載速度變得很是快。她會在必定的時間內緩存Ajax請求的結果(默認是10分鐘),在緩存有效期內不會發送新的請求而是直接從緩存中取出結果。
Framework7不依賴任何第三方框架,包括dom操做,包括jquery。她有一個自帶的高性能dom庫 - DOM7。而且,你不須要由於DOM7而學習任何新的知識,由於DOM7的接口和大名鼎鼎的jQuery幾乎是同樣的,也支持鏈式語法。
開發者: Click Innovate Ltd
開發者: Andrey Voronin
開發者: iDangero.us
開發者: Yevart
開發者: Bartlomiej Niemtur
開發者: Tim Busbee
更多實例請移步 實例展現
Framework7 是徹底免費並開源的 (MIT 協議)。 下載 快速上手 文檔 貢獻代碼
上面說了這麼多,其實也都是把官網翻譯了一下,那麼爲何這個框架最適合小團隊呢?我得出這個結論的主要緣由以下:
國內的阿里巴巴國際UED團隊曾經翻譯過該框架1.2.0版的官方文檔 http://framework7.taobao.org/
若是你的應用並不須要這麼複雜的交互,也用不上那麼多的UI控件,那麼你能夠試試Ratchet ,一樣支持iOS和Android兩種風格,很是輕量,依賴的JS代碼量很是小且均爲純原生JS。Twitter出品,跟大名鼎鼎的Bootstrap一脈相承。更重要的是代碼風格很是棒,若是你打算本身造個新輪子的話,那麼這個 Ratchet 絕對是你最好的參考對象沒有之一。
還真有,哈哈。咱們上面提到過的阿里巴巴國際UED團隊,在綜合了前二者的基礎之上,改良了一個很適合中國國情的輪子: SUI Mobile。跟阿里的其它前端開源項目同樣,直接提供帶combo功能的CDN版本。這下連本身部署都省了,直接引用就能夠開始了。這個新造的輪子沒有Android版皮膚,可是加入了中國省市聯動選擇器這種中國特點的組件,不過我我的曾經寫過一個基於百度地圖API的地址選擇器,體驗會更好些,回頭開源出來給你們玩兒。