對(duì)于每一個(gè)開發(fā)者而言,開發(fā)工具就相當(dāng)于他們的武器,選擇一個(gè)合適的工具能夠幫助我們?cè)诠ぷ鲿r(shí)事半功倍,在互聯(lián)網(wǎng)逐漸發(fā)展成熟的今天,越來(lái)越多的開發(fā)工具供我們選擇,但其中總有一些更好用的,如何選擇成為了一大難題。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供伽師企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、HTML5、小程序制作等業(yè)務(wù)。10年已為伽師眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
從而頒布了2021年StackShare第八屆頂級(jí)工具獎(jiǎng),快來(lái)看看有沒有你青睞的開發(fā)工具吧。
年度最佳新興工具
1.FastAPI
FastAPI 是一個(gè)使用 Python3.6+ 構(gòu)建 Web API 的高性能框架。根據(jù)框架創(chuàng)建者的說法,F(xiàn)astAPI 性能與 NodeJS 或 Golang 相當(dāng)。
2.GitHub Copilot
作為一款 AI 結(jié)對(duì)編程工具,Copilot 的主要定位是提供類似 IntelliSense/IntelliCode 的代碼補(bǔ)全與建議功能,但在實(shí)際表現(xiàn)上有望超越同樣由微軟合作伙伴 OpenAI 開發(fā)的 Codex AI 系統(tǒng)。
3.FiglamFigma
Figma 是一個(gè) 基于瀏覽器 的協(xié)作式 UI 設(shè)計(jì)工具,從推出至今越來(lái)越受到 UI 設(shè)計(jì)師的青睞,也有很多的設(shè)計(jì)團(tuán)隊(duì)投入了Figma 的懷抱,
4.Logtail
Logtail是日志服務(wù)提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云廠商等服務(wù)器上的日志。本文介紹Logtail的功能、優(yōu)勢(shì)、使用限制及配置流程等信息。
5.Coder
開發(fā)人員工作區(qū)平臺(tái)·
6.Charts.csscss
Charts.css 是用于數(shù)據(jù)可視化的開源 CSS 框架,幫助用戶理解數(shù)據(jù),幫助開發(fā)人員使用簡(jiǎn)單的 CSS 類將數(shù)據(jù)轉(zhuǎn)換為漂亮的圖表。·
7.Counter
簡(jiǎn)單并且免費(fèi)的網(wǎng)絡(luò)分析·
8.React Query
React Query是一個(gè)庫(kù),可為任何類型的異步數(shù)據(jù)提供ReactJS狀態(tài)管理功能。根據(jù)他們的官方文件,·
9.vscode.dev
將VS Code引入瀏覽器,構(gòu)建一個(gè)可以在瀏覽器中完全無(wú)服務(wù)器運(yùn)行的開發(fā)工具。
10.BookStack
BookStack 是一個(gè)開源的、基于 Laravel + Vue.js 構(gòu)建的知識(shí)管理和服務(wù)平臺(tái)。具有簡(jiǎn)單但功能強(qiáng)大的所見即所得編輯器,允許團(tuán)隊(duì)輕松創(chuàng)建詳細(xì)且有用的文檔。·
11.ThunderClient
Thunder Client 為我們提供了一款輕量級(jí)、易用、整潔、簡(jiǎn)單的 Rest API 客戶端擴(kuò)展?!の覀兛梢岳?Thunder Client 在編輯器內(nèi)快速測(cè)試代碼庫(kù)的 API 端點(diǎn),從而最大限度地減少頁(yè)面的切換。它可以替代 Postman,作為常用的無(wú)腳本測(cè)試工具。
12.Quod AI
Quod AI Code Search是一個(gè)由人工智能驅(qū)動(dòng)的Chrome擴(kuò)展,可以自動(dòng)從Git存儲(chǔ)庫(kù)或Jira問題中搜索代碼。
它使用問題的標(biāo)題和描述,并自動(dòng)在你的Git存儲(chǔ)庫(kù)中找到匹配的內(nèi)容。
13.Dendron
Dendron 是典型的開源社區(qū)編程思維的解決方案,雖然初看起來(lái)有一點(diǎn)學(xué)習(xí)曲線,但從根本上是給了使用者最大的自由發(fā)揮空間,同時(shí)又提供了最強(qiáng)大和最徹底的工具生態(tài)支持?!?/p>
14.Notion API
把概念和你每天使用的工具聯(lián)系起來(lái)·
15.Github1s
只需1秒,就可以用VS Code方式來(lái)看GitHub代碼。·
16.Ocean
容器的無(wú)服務(wù)器基礎(chǔ)架構(gòu)引擎·
17.Magic
快速構(gòu)建應(yīng)用程序,可定制,無(wú)密碼登錄
·
18.Jina
更簡(jiǎn)單的一種在云上構(gòu)建神經(jīng)搜索的方法,
19.Focalboard
一款開源、本地存儲(chǔ)、免費(fèi)的類 Notion 應(yīng)用Focalboard 的自我定位是“Trello、Notion 和 Asana 的開源、自托管替代品”?!?/p>
20.zx
更好地編寫腳本的工具(By Google)
21.OpenSearh
OpenSearch是阿里云開放搜索簡(jiǎn)稱,為解決用戶結(jié)構(gòu)化數(shù)據(jù)搜索需求的托管服務(wù),支持?jǐn)?shù)據(jù)結(jié)構(gòu)、搜索排序、數(shù)據(jù)處理自由定制?!?/p>
22.Querybook
一個(gè)可以發(fā)現(xiàn)、創(chuàng)建和共享數(shù)據(jù)分析、查詢以及表的大數(shù)據(jù)IDE(通過Pinterest),
23.MangoDB
MongoDB是一款為web應(yīng)用程序和互聯(lián)網(wǎng)基礎(chǔ)設(shè)施設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng)。MongoDB就是數(shù)據(jù)庫(kù),是NoSQL類型的數(shù)據(jù)庫(kù)
24.TooIJet
Retool的開源替代品·
25.Kitemaker
Kitemaker是為團(tuán)隊(duì)而非經(jīng)理創(chuàng)建的超快速問題跟蹤器。為遠(yuǎn)程團(tuán)隊(duì)創(chuàng)建的Jira的快速替代方案·
26.Appflowy
Appflowy 是一款使用 Flutter 和 Rust 構(gòu)建的開源筆記軟件,它支持Windows、macOS和Linux,可以免費(fèi)下載使用
27.Kubegres
Kubegres 是一個(gè) Kubernetes Operator,用來(lái)部署并維護(hù) PostgreSql 集群,提供開箱即用的數(shù)據(jù)復(fù)制和故障轉(zhuǎn)移功能,簡(jiǎn)化 PostgreSql 集群生命周期管理,降低數(shù)據(jù)復(fù)制的復(fù)雜性
28.Lightning Web Components
Lightning Web Components,業(yè)內(nèi)簡(jiǎn)稱LWC,是Salesforce于Spring 19發(fā)布的一款新型Lightning Component,快速的企業(yè)級(jí)Web組件基礎(chǔ)
29.Judo
用無(wú)代碼構(gòu)建原生應(yīng)用體驗(yàn)
30.Apache APISIX
Apache APISIX Apache APISIX是一個(gè)動(dòng)態(tài)、實(shí)時(shí)、高性能的API網(wǎng)關(guān)。提供了豐富的流量管理功能,如負(fù)載均衡、動(dòng)態(tài)上游、canary釋放、斷路、認(rèn)證、可觀察性等。
31.Control
提供免費(fèi)的加速、自動(dòng)化安全性以及SOC2合規(guī)
32.Remix
專注于Web技術(shù)和現(xiàn)代 用戶體驗(yàn)的框架
33.NocoDB
免費(fèi)并且開源的Airtable替代方案
34.JetBrainsQodana
評(píng)估你擁有的、合同或購(gòu)買的代碼的完整性
35.TabnineAI
只能代碼編寫
36.Coolify
一個(gè)開源的,自適應(yīng)的Heroku和Netlify的替代品
37.Penpot
開源設(shè)計(jì)和原型平臺(tái)
38.Portman
Postman介紹:postman是一個(gè)開源的接口測(cè)試工具,無(wú)論是做單個(gè)接口的測(cè)試還是整套測(cè)試腳本的撥測(cè)都非常方便。
39.Devops Stack
持續(xù)部署Kubernetes環(huán)境
40.Slidev
面向開發(fā)人員的演示幻燈片
41.ReScript
ReScript 是一門針對(duì) JavaScript 程序員的新語(yǔ)言,特別是對(duì) TypeScript 和 Flow 的類型安全感興趣的程序員。ReScript 的語(yǔ)法和 JavaScript 非常相似
42.Fig
自定完成終端
43.FlutterFlow
Flutterflow 是一個(gè)在線低碼平臺(tái),使人們?cè)谝曈X上以人們?cè)谝曈X上構(gòu)建本機(jī)移動(dòng)應(yīng)用程序。
44.Porter
運(yùn)行在你自己的云中的Heroku
45.SigmaOS
在 SigmaOS 中,你會(huì)看到完全不同的瀏覽器布局,它更像是一個(gè)工作臺(tái)
46.VictoeiaMetrics DB
快速、低成本的監(jiān)控解決方案和時(shí)間序列數(shù)據(jù)庫(kù)
47.CloudflarePages
JAMstack平臺(tái)為前端開發(fā)者提供協(xié)作和部署網(wǎng)站的平臺(tái)
48. Devbook
面向開發(fā)者的搜索引擎
49.Front Matter
直接在VS Code中管理靜態(tài)站點(diǎn)
50.Supacase UI
用于企業(yè)儀表的React組件庫(kù)
以上可以說是集結(jié)了開發(fā)行業(yè)中的所有“神器”,不僅能助力程序員高效工作,也是今后走向開發(fā)崗位小伙伴們的加薪工具。小伙伴可以從中挑選適合自己的工具~
FlutterBoost 是一個(gè)Flutter 插件,它可以輕松地為現(xiàn)有原生應(yīng)用程序提供 Flutter 混合集成方案。FlutterBoost 的理念是將 Flutter 像 Webview 那樣來(lái)使用。在現(xiàn)有應(yīng)用程序中同時(shí)管理 Native 頁(yè)面和 Flutter 頁(yè)面并非易事。 FlutterBoost 幫你處理頁(yè)面的映射和跳轉(zhuǎn),你只需關(guān)心頁(yè)面的名字和參數(shù)即可(通??梢允?URL)。
概念
所有頁(yè)面路由請(qǐng)求都將發(fā)送到 Native 路由器。Native 路由器與 Native Container Manager 通信,Native Container Manager 負(fù)責(zé)構(gòu)建和銷毀 Native Containers。
使用 Flutter Boost Native Container 用 Native 代碼打開 Flutter 頁(yè)面
Android
或者用 Fragment
使用 Flutter Boost 在 dart 代碼打開頁(yè)面
Dart
使用 Flutter Boost 在 dart 代碼關(guān)閉頁(yè)面
使用這個(gè)版本的GetX寫了Demo之后,發(fā)現(xiàn)有幾個(gè)問題:
感覺不太像是穩(wěn)定版本,存在一些比較明顯的問題;而且2.0.6到2.0.7只是一個(gè)小版本,全局狀態(tài)管理邏輯似乎就有比較大的改動(dòng)。
不支持響應(yīng)式編程,這個(gè)版本的狀態(tài)管理還是基于state的邏輯;因?yàn)橄胍容^高效的解耦頁(yè)面和邏輯,可能需要搭配響應(yīng)式編程框架。
相關(guān)功能可能比較少,沒有最新版本的功能那么全面。
Flutter是Google開源的構(gòu)建用戶界面(UI)工具包,幫助開發(fā)者通過一套代碼庫(kù)高效構(gòu)建多平臺(tái)精美應(yīng)用,支持移動(dòng)、Web、桌面和嵌入式平臺(tái)。
Flutter 開源、免費(fèi),擁有寬松的開源協(xié)議,適合商業(yè)項(xiàng)目。Flutter已推出穩(wěn)定的2.0版本。
產(chǎn)生背景:
Flutter可以方便的加入現(xiàn)有的工程中。在全世界,F(xiàn)lutter 正在被越來(lái)越多的開發(fā)者和組織使用,并且 Flutter是完全免費(fèi)、開源的。它也是構(gòu)建未來(lái)的 Google Fuchsia 應(yīng)用的主要方式。
Flutter組件采用現(xiàn)代響應(yīng)式框架構(gòu)建,這是從React中獲得的靈感,中心思想是用組件(widget)構(gòu)建你的UI。
組件描述了在給定其當(dāng)前配置和狀態(tài)時(shí)他們顯示的樣子。當(dāng)組件狀態(tài)改變,組件會(huì)重構(gòu)它的描述(description),F(xiàn)lutter 會(huì)對(duì)比之前的描述, 以確定底層渲染樹從當(dāng)前狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需要的最小更改。
Flutter是一個(gè)移動(dòng)應(yīng)用程序的軟件開發(fā)工具包(SDK),具有以下特征:
跨平臺(tái)應(yīng)用的框架,沒有使用WebView或者系統(tǒng)平臺(tái)自帶的控件,使用自身的高性能渲染引擎自繪
簡(jiǎn)化版的瀏覽器,最大限度在android和ios上統(tǒng)一UI,包括業(yè)務(wù)邏輯和用戶體驗(yàn)
開發(fā)語(yǔ)言使用dart,結(jié)合C, C++, 和Skia(2D渲染引擎)構(gòu)建
支持hot reload,包含著完整的控件和工具鏈
一切皆控件,控件是每個(gè)Flutter應(yīng)用程序的基本構(gòu)建塊,與分離視圖、控制器、布局和其他屬性的框架不同,F(xiàn)lutter具有一致的統(tǒng)一對(duì)象模型:控件。一個(gè)控件可以定義:結(jié)構(gòu)元素(比如按鈕或菜單)、風(fēng)格元素(比如字體或顏色方案)、布局的方面(比如填充)、一些業(yè)務(wù)邏輯等
組合大于繼承,控件本身通常由許多小型、單用途的控件組成,結(jié)合起來(lái)產(chǎn)生強(qiáng)大的效果,類的層次結(jié)構(gòu)是扁平的,以最大化可能的組合數(shù)量
強(qiáng)化版的WebView,框架僅提供一個(gè)View層,大部分功能要依賴原生
目前只能夠運(yùn)行大部分Dart代碼(不能引入dart:mirrors或dart:html庫(kù))
Flutter支持穩(wěn)定的桌面設(shè)備開發(fā)已經(jīng)一段時(shí)間了,不得不說,F(xiàn)lutter多平臺(tái)支持的特性真的很香。我本人并沒有任何桌面開發(fā)的經(jīng)驗(yàn),但仍然使用Flutter開發(fā)出了一個(gè)桌面版小程序,功能很簡(jiǎn)單,就是對(duì)輸入的json做格式化處理和轉(zhuǎn)模型。
話不多說,先來(lái)看看實(shí)際效果。 項(xiàng)目源碼地址
開發(fā)環(huán)境如下:
Flutter : 2.8.1
Dart : 2.15.1
IDE : VSCode
JSON作為我們?nèi)粘i_發(fā)工作中經(jīng)常要打交道的一種數(shù)據(jù)格式,它共有6種數(shù)據(jù)類型: null , num , string , object , array , bool 。我們勢(shì)必對(duì)它又愛又恨。愛他因?yàn)樗鳛閿?shù)據(jù)處理的一種格式確實(shí)非常方便簡(jiǎn)潔。但是在我們做Flutter開發(fā)中,又需要接觸到j(luò)son解析時(shí),就會(huì)感覺非常棘手,因?yàn)閒lutter沒有反射,導(dǎo)致json轉(zhuǎn)模型這塊需要手寫那繁雜的映射關(guān)系。就像下面這樣子。
數(shù)據(jù)量少還能接受,一旦量大,那么光手寫這個(gè)解析方法都能讓你懷疑人生。更何況手寫還有出錯(cuò)的可能。好在官方有個(gè)工具**json_serializable**可以自動(dòng)生成這塊轉(zhuǎn)換代碼,也解決了flutter界json轉(zhuǎn)模型的空缺。當(dāng)然,業(yè)界也有專門解析json的網(wǎng)站,可以自動(dòng)生成dart代碼,使用者在生成后復(fù)制進(jìn)項(xiàng)目中即可,也是非常方便的。
本項(xiàng)目以json解析為切入點(diǎn),和大家一起來(lái)看下flutter是如何開發(fā)桌面應(yīng)用的。
要讓我們的flutter項(xiàng)目支持桌面設(shè)備。我們首先需要修改下flutter的設(shè)置。如下,讓我們的項(xiàng)目支持 windows 和 macos 系統(tǒng)。
接下來(lái)使用 flutter create 命令創(chuàng)建我們的模版工程。
創(chuàng)建完項(xiàng)目后,我們就可以 run 起來(lái)了。
先來(lái)看下整體界面,界面四塊,分別為功能模塊、文件選擇模塊、輸入模塊、輸出模塊。
我們?cè)谛陆ㄒ粋€(gè)桌面應(yīng)用時(shí),默認(rèn)的模版又一個(gè)Appbar,此時(shí)應(yīng)用可以用鼠標(biāo)拖拽移動(dòng),放大縮小,還可以縮到很小。但是,我們一旦去掉這個(gè)導(dǎo)航欄,那么窗口就不能用鼠標(biāo)拖動(dòng)了,并且我們往往不希望用戶將我們的窗口縮放的很小,這會(huì)導(dǎo)致頁(yè)面異常,一些重要信息都展示不全。因此這里需要借助第三方組件 bitsdojo_window 。通過 bitsdojo_window ,我們可以實(shí)現(xiàn)窗口的定制化,拖動(dòng),最小尺寸,最大尺寸,窗口邊框,窗口頂部放大、縮小、關(guān)閉的按鈕等。
通過 InkWell 組件,可以捕捉到手勢(shì)、鼠標(biāo)、觸控筆的移動(dòng)和停留位置
這個(gè)功能是鼠標(biāo)移動(dòng)后的UI交互界面。要在窗口上顯示一個(gè)提示框,可以使用 Overlay 。需要注意的是,由于在 Overlay 上的 text 的根結(jié)點(diǎn)不是 Material 風(fēng)格的組件,因此會(huì)出現(xiàn)黃色的下劃線。因此一定要用 Material 包一下 text 。并且你必須給創(chuàng)建的 OverlayEntry 一個(gè)位置,否則它將全屏顯示。
讀取說表拖拽的文件一開始想嘗試使用 InkWell 組件,但是這個(gè)組件無(wú)法識(shí)別拖拽中的鼠標(biāo),并且也無(wú)法從中拿到文件信息。因此放棄。后來(lái)從文章《Flutter-2天寫個(gè)桌面端APP》中發(fā)現(xiàn)一個(gè)可讀取拖拽文件的組件 desktop_drop ,能滿足要求。
使用開源組件 file_picker ,選完圖片后的操作和拖拽選擇圖片后的操作一致。
Textfield 如果要顯示富文本,那么需要自定義 TextEditingController 。并重寫 buildTextSpan 方法。
在做導(dǎo)出功能時(shí)遇到下列報(bào)錯(cuò),保存提示為沒有權(quán)限訪問對(duì)應(yīng)目錄下的文件。
通過Apple的開發(fā)文檔找到有關(guān)權(quán)限問題的說明。其中有個(gè)授權(quán)私鑰的key為 com.apple.security.files.downloads.read-write ,表示 對(duì)用戶的下載文件夾的讀/寫訪問權(quán)限 。那么,使用Xcode打開Flutter項(xiàng)目中的mac應(yīng)用,修改工程目錄下的 DebugProfile.entitlements 文件,向 entitlements 文件中添加 com.apple.security.files.downloads.read-write ,并將值設(shè)置為YES,保存后重啟Flutter項(xiàng)目。發(fā)現(xiàn)已經(jīng)可以向下載目錄中讀寫文件了。
當(dāng)然,這是正常操作。還有個(gè)騷操作就是關(guān)閉系統(tǒng)的沙盒機(jī)制。將 entitlements 文件的 App Sandbox 設(shè)置為NO。這樣我們就可以訪問任意路徑了。當(dāng)然關(guān)閉應(yīng)用的沙盒也就相當(dāng)于關(guān)閉了應(yīng)用的防護(hù)機(jī)制,因此這個(gè)選項(xiàng)慎用。
原文地址:
前言
最近街邊討論買基金大佬們又多起來(lái)了,一些技術(shù)交流群也時(shí)不時(shí)看到某某某大佬在討論股票,看來(lái)最近行情很好啊,雖然我不懂交易,但我總覺得可以做些什么來(lái)彌補(bǔ)我的不足,于是有了接下來(lái)要跟大家分享的“盯盤小工具”。
準(zhǔn)備開干
那么接下來(lái)我的目標(biāo)是開發(fā)一款PC端的桌面盯盤小工具,特點(diǎn)首先就是小、方便整天盯著電腦屏幕的白領(lǐng)們打開瞧瞧,省去費(fèi)事各種操作;然后就是無(wú)需關(guān)注太多費(fèi)腦筋的指標(biāo),所以能夠顯示名稱和漲跌幅即可。有的上面的需求后,那就可以開始搬磚了,但是對(duì)于我這種只懂點(diǎn)Android皮毛又沒做過桌面應(yīng)用的人來(lái)說,簡(jiǎn)直是比登天還難,那該咋辦?在夜深人靜時(shí),我恍然想起了Flutter,沒錯(cuò)先來(lái)一張圖:
還記得當(dāng)時(shí)看Flutter的時(shí)候還是1.2版本,如今回過頭來(lái)看,已經(jīng)不是曾經(jīng)那個(gè)Flutter了。
搬磚
為了實(shí)現(xiàn)這個(gè)小小的業(yè)余需求并且又能學(xué)習(xí)Flutter,于是我白天下班回來(lái)又開始不同場(chǎng)景不同程序語(yǔ)言的搬磚,重新安裝了Flutter的最新開發(fā)環(huán)境,重新學(xué)習(xí)Flutter開發(fā)-萬(wàn)物皆widget。
功夫不負(fù)有心人
效果圖展示
當(dāng)前為最初版本,很多功能還不夠完善,后續(xù)目標(biāo)就是完善及優(yōu)化,
GitHub項(xiàng)目地址:
致謝
為了實(shí)現(xiàn)這個(gè)小小的業(yè)余需求并且又能學(xué)習(xí)Flutter,我也參考了很多Flutter大佬的開源項(xiàng)目,在此感謝所有優(yōu)秀的開源項(xiàng)目 _ 。
本文標(biāo)題:flutter編程工具,flutter用什么開發(fā)工具
文章起源:http://aaarwkj.com/article42/dsspshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、建站公司、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)