實時輸出前端原始碼,折騰大半年的開源專案sparrow-js
前言
sparrow-js第一次提交到git是在2019-12,轉眼將近一年時間,一直在堅持更新,唯一目標就是提升前端研發效率,幾年前在市場加速數字化的背景下開始關注前端研發效率這塊兒的東西,最開始在前公司內部開發了一個工程化方面的前端專案,大體做了兩方面工作1.前端工程搭建接入各種外掛、公司內部服務。2.按照原子設計理論搭建物料體系。在搭建這個專案時產生了很多新靈感,去年年底決定將想法開始付諸實踐所以就有了sparrow-js這個開源專案,這個專案更側重於解決業務開發部分的前端效率提升,直接輸出原始碼。
遠景
最初設想的有三大塊功能:
- 本地低程式碼搭建,常規開發模式還是在本地開發,所以實現了一個本地視覺化搭建工具,實時輸出原始碼。
- online低程式碼搭建,線上化的視覺化搭建更利於傳播,更方便。
- 資料採集,包括各種資料收集:如圖片、sketch設計稿類智慧生成程式碼等,swagger等介面管理工具資料生成介面程式碼。
目前本地低程式碼搭建已經完成一期的功能,可實現實時輸出可讀的Vue原始碼,下面會做介紹。下一步大方向除了本地低程式碼專案的迭代外將開始實現online版的sparrow-js,最後實現資料採集轉化為原始碼,最終達到秒級前端需求開發(部分場景下),達成前端提效目標。
介紹
sparrow-js 提供豐富的物料來幫助開發者提效,目前生成的原始碼是vue,element-ui的程式碼,提供函式級別程式碼搭建能力,可以注入邏輯程式碼。介面展示如下圖:
展示1
展示2
物料
提供多種型別的物料源,以此來滿足不同場景下的需求。
- 元件:vue element-ui基礎元件
- 容器:儲存基礎元件
- 編輯區塊:可增刪改可編輯的特定場景程式碼片段
- 靜態區塊:程式碼片段
- 搜尋元件:官方內建擁有特定邏輯元件
- 外掛:第三方自定義元件
使用示例如下:
示例1:
示例2:
更多功能感興趣可自行體驗。
基礎功能
- 實時預覽
- 拖拽
- 實時預覽原始碼
- 元件: 複製
- 元件: 刪除
- 元件: 配置
- 撤銷
- 儲存
- 匯出
- 重置
- 介面生成
- 開啟vscode展示程式碼
- 文字編輯
- 等等功能
生產程式碼示例
以下連結為使用sparrow-js生成的未經任何修改的原始碼;
快速使用
全域性安裝
# 全域性安裝
$ npm install -g sparrow-code
# 執行
$ sparrow
專案內安裝
# 專案內安裝
$ npm install sparrow-code -D
# package.json 增加 sparrow
"scripts": {
"sparrow": "sparrow start -m page"
}
# 專案內安裝GUI元件
$ npm install @sparrow-vue/develop-ui -S
# 專案內引用App.vue
<template>
<div id="app">
<router-view />
<sparrow />
</div>
</template>
<script>
import Sparrow from '@sparrow-vue/develop-ui'
export default {
components: {
Sparrow
},
name: 'App'
}
</script>
開源地址
git地址:https://github.com/sparrow-js/sparrow
總結
功能正在按既定規劃由想法一步步落地,使用體驗、文件也在逐步優化解決,目前完全由個人業餘時間開發,正在努力使sparrow-js讓更多人體驗使用,歡迎關注交流,任何合理理性的想法都可以討論探索並付諸實踐,創作不易,感謝支援!
相關文章
- 如何閱讀大型前端開源專案的原始碼前端原始碼
- tp5 前端程式碼原樣輸出 html原始碼輸出 原始碼被輸出前端HTML原始碼
- 走進開源專案 - urlcat 原始碼分析原始碼
- 騰訊開源專案TARS首次全面釋出PHP版本PHP
- 打造 10000 Star 的前端開源專案 ⭐前端
- 墨菲安全正式釋出 murphysec 開源專案!讓開發者更安全的使用開原始碼原始碼
- 如何閱讀大型前端開源專案的原始碼,授人以魚不如授人以漁前端原始碼
- renren開源專案釋出
- 【京東開源專案】微前端框架MicroApp 1.0正式釋出前端框架APP
- 「實戰篇」開源專案docker化運維部署-原始碼介紹(二)Docker運維原始碼
- 在騰訊雲上部署開源專案
- 閱讀前端專案原始碼的正確姿勢前端原始碼
- 你有沒有看過哪些開源專案的原始碼?說說你看原始碼的流程原始碼
- 直播app原始碼,Java的輸入輸出APP原始碼Java
- 雲原生領域再添重磅開源專案:騰訊釋出 K8s 多叢集管理開源專案 ClusternetK8S
- 各位有開源介面自動化專案原始碼嗎(java)原始碼Java
- GitHub實用開源專案Github
- 推薦20個值得收藏的前端開源專案前端
- Node.js折騰記一:讀指定資料夾,輸出該資料夾的檔案樹Node.js
- 分享一個「實時三維人臉重建」的開源專案
- 折騰一下WebSocket的ArrayBuffer傳輸方式Web
- 騰訊釋出 K8s 多叢集管理開源專案 ClusternetK8S
- 原始碼面前沒有祕密,推薦 9 個帶你閱讀原始碼的開源專案原始碼
- 今年我讀了四個開源專案的原始碼,來分享下心得原始碼
- 持續加碼開源 騰訊雲斬獲OSCAR尖峰開源專案及尖峰開源人物雙項大獎
- 推薦10個值得收藏的前端開源Awesome專案前端
- 【開源專案】合肥~超經典智慧城市CIM/BIM數字孿生視覺化專案—開源工程及原始碼視覺化原始碼
- 【開源系列】專案開源實戰記錄-序
- 如何自動化部署專案?折騰伺服器之旅~伺服器
- 線上客服系統原始碼-開源PHP版(開源im即時通訊原始碼)原始碼PHP
- 千鋒HTML5大前端React專案實戰教程(含影片大綱原始碼)限時領!HTML前端React原始碼
- 18 個實時音視訊開發中會用到開源專案
- 18個實時音視訊開發中會用到開源專案
- 使用 Hibernate 和 H2 的多租戶Spring Boot開源原始碼專案Spring Boot原始碼
- 《整潔程式碼cleancode》的javascript原始碼實現專案JavaScript原始碼
- PHP執行耗時指令碼實時輸出內容PHP指令碼
- python專案例項原始碼-32個Python爬蟲實戰專案,滿足你的專案慌(帶原始碼)Python原始碼爬蟲
- 3 個好玩的前端開源專案「GitHub 熱點速覽」前端Github