yf-api系列產(chǎn)品

0.說在前面的廢話

yf指的是yfsoft,我常用的id的簡寫,在我心中這是一個牛x的組織(雖然現(xiàn)在就我一個人),我將全部的生命和精力投入在里面,愿意為之付出一切,而我的一切都屬于它。

1.它是什么?

yf-api 是近一年時間打磨出來的產(chǎn)品,簡單的說就是可以快速簡單的搭建一個http服務(wù),建立在已有的業(yè)務(wù)數(shù)據(jù)之上,關(guān)聯(lián)上數(shù)據(jù)庫之后就自帶了基本的CRUD的操作,并提供單一統(tǒng)一的服務(wù)接口,同步所有的終端數(shù)據(jù)流,能應(yīng)對較大并發(fā)的請求和一些惡意的攻擊,提供nodejs,angularjs,java,.net,php的sdk實現(xiàn),最大程度的降低客戶端集成api服務(wù)的成本。

相應(yīng)的產(chǎn)品列表:
a.服務(wù)端產(chǎn)品
b.客戶端產(chǎn)品(編碼已完成,正在更新文檔)
  • ngapi
    angularjs前端SDK

  • apiengine
    nodejs SDK

  • apiengine4j
    java SDK

  • apiengine4net
    .net SDK

  • apiengine4php
    php SDK

1.1. 唯快不破

業(yè)務(wù)實現(xiàn)速度和系統(tǒng)服務(wù)的響應(yīng)速度都想快。這是每一個非技術(shù)的創(chuàng)始人的訴求。

  • 持續(xù)部署
  • 持續(xù)集成
  • 持續(xù)交付

這些很靈活的開發(fā)模式可以滿足,但是想要在一個規(guī)模還不是很大的團隊里實踐這些東西,管理和實施成本太高,如何能應(yīng)對這樣的窘境?
技術(shù)選型很重要,在這點上花了很長的時間,決定用nodejs,因為它的事件驅(qū)動可以滿足高并發(fā),源碼開源,社區(qū)活躍,大公司應(yīng)用廣泛,加之本身javascript的語法也已經(jīng)比較簡單,學(xué)習(xí)成本不高。

1.2. 適應(yīng)場景
  • 專注前期創(chuàng)業(yè)或者做產(chǎn)品的小團隊或者個人
  • 沒有全職后端開發(fā)的團隊
  • 前期沒有很多資源投入到技術(shù)基礎(chǔ)搭建上的團隊
  • 不使用云存儲平臺(如: parse 或者 leancloud) 的企業(yè)
  • 現(xiàn)有系統(tǒng)是基于關(guān)系型數(shù)據(jù)庫,想快速搭建api服務(wù)的團隊
1.3. 優(yōu)勢
  • 完全開源,且在持續(xù)維護
  • 代碼量極少

越少的代碼,意味著出bug的概率越小

  • 創(chuàng)作團隊都健在

創(chuàng)作團隊特別悶騷,喜歡健身,還能活好久~~隨時都能聯(lián)系上

  • 豐富的文檔和實例代碼
  • 豐富的已經(jīng)實現(xiàn)的SDK

2. 為何用它

開發(fā)者的體驗非常重要,同時開發(fā)者的效率也很重要,沒有大牛,如何能盡快的做出產(chǎn)品?那么多端口要維護,團隊是要效益的,投入產(chǎn)出比很重要。
讓編碼平臺統(tǒng)一化、標(biāo)準(zhǔn)化、流程化才是提高產(chǎn)品輸出效率,保證代碼質(zhì)量的正確姿勢;
試問:

  • 如何才能正確評估一個技術(shù)的工作量
  • 如何能避免一些隱藏的大坑
  • 如何能減少技術(shù)人員流失的風(fēng)險
  • 如何能縮短新員工上手的教學(xué)成本
  • 如何能定義標(biāo)準(zhǔn)的入職技能評估
  • 如何如何...
    作為一個非技術(shù)驅(qū)動的團隊來說,這些問題都是非常頭疼的,能解決這些問題的人很難找到。
    通過高薪吸引過來的人才是否能完全適合目前的團隊?這些問題都是會影響到整個團隊最終的歸屬的!可能一步就決定了產(chǎn)品的生死。

3. 如何用它

  • 備份并導(dǎo)出您的數(shù)據(jù)庫
  • 安裝一臺linux(推薦Centos)
  • 安裝好lnmp
  • 上傳 yfci 腳本
  • 執(zhí)行安裝命令
  • 導(dǎo)入您的數(shù)據(jù)庫
  • 配置數(shù)據(jù)庫鏈接信息
  • 執(zhí)行部署命令
  • 客戶端配置sdk,參照示例完成開發(fā)集成
3.1 開發(fā)流程
  • 代碼版本管理流程 : git flow
  • 基本架構(gòu)管理流程 : 前后端完全分離,業(yè)務(wù)全在后端完成,前端只負(fù)責(zé)交互
  • 服務(wù)端開發(fā)管理流程 : 根據(jù)已有開發(fā)框架做適配,JAVA、PHP、ASP.NET 都支持
  • 客戶端開發(fā)管理流程 : 配置相應(yīng)的客戶端SDK,參照文檔進行配置和使用即可
3.2 版本發(fā)布流程
  • 代碼經(jīng)過測試推入到Git服務(wù)器,通過平臺的CI腳本進行及時或者定時發(fā)布更新
  • 對于有編譯過程的代碼,比如JAVA,平臺提供標(biāo)準(zhǔn)的自動編譯腳本程序,省去傳war包的人工操作
  • 夜間發(fā)布更新可以通過平臺配置簡單的計劃任務(wù),自動執(zhí)行更新,無需人工看守
  • 后端代碼0秒更新,省去客戶端更新的麻煩
  • 集成app渠道分發(fā)平臺,自動提示客戶端版本更新消息
3.3 可選組件
  • 推送服務(wù)JPUSH
  • 短信服務(wù)[聚合]
  • 地理位置服務(wù)[高德]
  • 支付服務(wù)[微信、支付寶]
3.3 數(shù)據(jù)備份流程

2.x版本迭代功能~

3.4 集成IDE工具插件

3.x版本迭代功能~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容