Ⅰ 開源精粹(二)!22個實用、有趣的開源項目
作為一名開源愛好者,發掘優秀的開源項目是一件非常有趣的事情。在第一期中,我分享了單頁個人網站模板、組裝式 Flutter 應用框架、PHP 客戶端庫、Java 診斷工具等一些實用的庫和工具。本期依舊會為大家分享一些前端、後端、移動開發的相關工具,希望你能「淘」到適合自己的工具。
1.Vue-EasyTable
Vue-EasyTable 是一款基於 Vue2.x 的 table 組件,具備自適應、表頭與列固定、自定義單元格樣式、自定義 Loading 等功能。
2.React-Calendar
這是一款具備原生日期格式的日歷組件。它不依賴 Moment.js,支持日期選擇范圍,涵蓋了各國語言,開箱即用。
3.Matter
CSS 實現的 Material 組件合集項目,作者已將部分作品開源,效果可以在 CodePen 上查看。
4.Revery
Revery 是一款用於構建高性能、跨平台桌面應用的框架。它類似於加速版的原生 Electron,除了擁有類似 React / Rex 的庫,還具備 GPU 加速渲染功能,其內置的編譯器速度也相當快。
5.Web Accessibility Guide
這是一個精選了 Web 可訪問性貼士、技巧和最佳實踐的開源項目,你將會學習到一些改善 Web 可訪問性的實用做法。
1.SOFAJRaft
SOFAJRaft 是螞蟻金服開源的生產級 Java Raft 演算法庫,它基於 Raft 一致性演算法的生產級高性能 Java 實現,支持 MULTI-RAFT-GROUP,適用於高負載低延遲的場景,易於使用。
2. Dragonwell
阿里開源了 OpenJDK 發行版 Dragonwell,它提供長期支持,包括性能增強和安全修復。在數據中心大規模 Java 應用部署情況下,可以大幅度提高穩定性、效率以及性能。
3.Lawoole
Lawoole 是一款基於 Laravel 和 Swoole 的高性能 PHP 框架。它兼具了 Laravel 的特點,還解決了其功能背後的性能問題。同時,你還能感受到與 Laravel 一樣的編碼體驗。
4.AntNest
AntNest 是一個簡潔、快速的非同步爬蟲框架。它僅有 600 行代碼,基於 Python 3.6+.
5.PHP-Awesome
這個倉庫匯集了 PHP 優秀的資源,供你查詢和參考。
1.FlutterBoost
FlutterBoost 是閑魚開源的新一代 Flutter-Native 混合解決方案。它能夠幫你處理頁面的映射和跳轉,你只需要關心頁面的名字和參數即可。
2.MyLayout
MyLayout 是一套 iOS 界面視圖布局框架,可謂 iOS 下的界面布局利器。它集成了 iOS Autolayout、Size Classes、Android 的 5 大布局體系、HTML/CSS 的浮動定位技術以及 Flex-Box 和 Bootstrap 框架等主流的平台的界面布局功能,並提供了一套簡單、完備的多屏幕尺寸適配的解決方案。
3.SegementSlide
SegementSlide 是一個 iOS UI 庫,它具備完整的滑滾及切換組件,旨在解決多層 UIScrollView 嵌套滾動的問題。
1.DevHub
DevHub 是一款跨平台的 GitHub 通知管理客戶端,支持 Android、 iOS、網頁和桌面上使用,幫助你便捷的接收 GitHub 各類通知。
2.Reqman
Reqman 是一個幫助後端工程師進行 API 測試的工具,同時也是一個基於 Node.js 的爬蟲工具。
3.FreeCodeCamp
說到 FreeCodeCamp,或許大家不會陌生,而這個項目就是他們建立的開源課程和相應的代碼庫。網站提供了 6 大認證課程,也涉及了全棧開發認證。如果你感興趣,不妨了解下。
4.Gitter
Gitter 是 GitHub 小程序客戶端,作者採用 Taro 框架 + Taro UI 進行開發,而小程序內數據則來自 GitHub Api V3.
5.Awesome Podcasts
這個項目收集了各類實用的播客,涵蓋了主流的編程語言,希望對你提升技術水平有所幫助。
6.編程圖書大全
書籍不光能在你迷茫的時候,給予你答案,還能在你提升技能的時候,給予你幫助。這個倉庫收集了眾多編程圖書,涉及主流編程語言、人工智慧、演算法、Linux、大數據等。看看,有木有你需要的。
7.VS Code Netease Music
很多開發者喜歡邊寫代碼,邊聽音樂,VS Code Netease Music 這個插件就能滿足你在 VS Code 上聽歌的願望。它使用 Webview 實現,不依賴命令行播放器。
Star-Battle
Star-Battle 是一款使用 JavaScript ES6、Canvas 開發的飛船射擊類 游戲 。來 Enjoy 吧。
註:
如需轉載,煩請按下方註明出處信息,謝謝!
Ⅱ 全棧項目開發3:應用國際化和許可權處理
對於現在的APP應用,國際化需求並不高,但是作為一項有用的功能,我們還是按部就班地去實現它,由於還未完成全局狀態管理和全局事件匯流排,暫時使用了一個全局變數Locale去定義,因此要完成切換就需要手動修改變數值後重啟應用(熱更新是不可以的),目前僅實現簡體中文和美式英文兩種語言
1.引入國際化需要的包。
2.在Flutter節點下添加generate,可以在重啟或者熱更新時實時更新翻譯文件。
3.在根目錄下增加l10n.yaml文件,用於配置實時更新的內容。
4.在根Widget的MaterialApp中增加如下配置,大多都是來自第三步自動更新的內容,如果編譯器不能自動識別,可以手動引入如下包:import 'package:flutter_gen/gen_l10n/app_localizations.dart'
5.編譯翻譯文件,在lib/I10n的目錄下新增app_zh.arb和app_en.arb兩個文件(如果要具體到國家代碼可以新建為app_zh_CN.arb和app_en_US.arb),文件採用Json的語法,Vscode等編輯器也有對應的語法插件,至於翻譯語法,大家可以自行了解,限於篇幅,僅做常用的展示。
註:app表示變數名,後續可以使用AppLocalizations.of(context)!.app調用,語言切換時就會按照對應的翻譯文件進行展示。
@app表示對app變數的描述,是給翻譯人員看的,與代碼運行無關。
模板語句,有時候需要實現類似「倒計時20秒」只有數字變化的語句,此時就形成了模板插值語句,在模板上插入數字,上述hit6即實現了這樣一個語法,最終會被翻譯為一個函數,讀者可自行嘗試。
關於iOS平台
嘗試過國際化的讀者可能發現在iOS平台無法順利完成切換(上述全局變數方式和使用全局狀態管理的實現方式有本質區別,注意區分),這是因為iOS應用程序有一套自建的語言環境管理機制,所以使用上面的方式適配國際化對於iOS應用程序是無效的,為了讓iOS應用程序也能支持國際化,還需要在原生iOS工程中進行額外的配置。 使用Xcode打開Flutter項目的iOS原生工程,切換到工程面板,然後在Localization選項配置中添加中文支持即可。
在Android/ios平台許可權處理是繞不開的內容,本應用作為demo應用,會盡可能地多索要許可權,但是設計為僅在用戶安裝後第一次打開時索取一次,後續不再主動索取,僅在用戶需要使用相關功能時引導用戶給予許可權即可。許可權管理的實現相對簡單,可以引用permission_handler包,並加入以下代碼,在APP啟動時調用一次requestAllPermission函數即可。
下章內容 : 主題切換,歡迎頁,引導頁,
小破站同名,同步文章且定時直播編程,有興趣可以移步
Ⅲ 華為手機方舟編譯器怎麼用
1、方舟編譯器是業界首個多語言聯合優化的編譯器,開發者在開發環境中可以一次性將多語言統一編譯為一套機器碼,運行時無需產生跨語言帶來的額外消耗,並可以進行跨語言的聯合優化,提升運行效率。
2、安卓自身的編譯技術在不斷的發展,但始終需要在運行中依賴虛擬機來進行動態編譯和解釋執行,對系統資源消耗較大。而方舟編譯器在開發環境中就可以完成全部代碼的編譯,手機安裝應用程序後無需依賴虛擬機資源,即可全速運行程序,帶來效率上的極大提升。
3、舉一個例子:EMUI9.1僅僅對系統組件SystemServer應用了華為方舟編譯器後,就帶來了系統操作流暢度提升24%,系統響應性能提升44%的收益。
Ⅳ 方舟編譯器有什麼用,怎麼用
了解方舟編譯器前,我們簡單了解下編譯器。編譯器能夠將高級語言轉換成機器能懂的機器碼,並按照指令運行。可以說是人類和機器溝通的橋梁。方舟編譯器是由華為百人專家團隊打造推出的高級語言直接編譯成機器碼的移動端編譯器。
1、用戶是否只需要在應用市場下載已編譯的軟體即可?
方舟編譯器編譯的應用在開發階段就已經完成。也就是說,只要是經過編譯器編譯的應用,在應用市場上上架了以後,用戶下載的就是編譯過的了。
2、方舟編譯器能給用戶帶來什麼?
它解決了安卓系統久用必卡頓的魔咒,打破了人機之間的藩籬,讓用戶能直觀感受到的就是:A、提升了應用的流暢度;
B、降低手機 CPU 的開銷;
C、進一步降低功耗提升了手機續航能力;
D、為用戶帶來更加持久流暢的體驗。
Ⅳ 方舟編譯器3.0好用不
好用。
方舟編譯器是採用了靜態編譯,是首個取代安卓虛擬機的靜態編譯器。可供開發者在開發者環境中一次性的將高級語言編譯成機器碼,手機安卓應用程序後可全速運行,大大提高了流暢度和響應速度,從底層解決了安卓運行效率低下的問題。
《方舟:生存進化》故事主要講述,一群男女從在岸邊醒來後,發現自己身處一個充滿恐龍的神秘島嶼「ARK」。游戲中除了狩獵、資源搜刮、物品打造、種植、科研、調查技術和建造房子來抵抗炎熱的白天,冰冷的夜晚,易變的天氣系統,危險的野外和潛在的敵人等之外,玩家還必須面對其他玩家所扮演的倖存者,合作或者是相互廝殺。