天天看點

雲原生IDE:iVX首個通用且強大無代碼開發平台

雲原生IDE:iVX首個通用且強大無代碼開發平台

  • ​​1、前言:iVX是什麼?​​
  • ​​2、iVX——首個通用無代碼開發平台​​
  • ​​首個​​
  • ​​開發平台​​
  • ​​無代碼​​
  • ​​通用​​
  • ​​3、iVX系統架構​​
  • ​​應用架構概覽​​
  • ​​前端技術架構​​
  • ​​背景技術架構​​
  • ​​4、iVX适合什麼樣的使用者?學習周期?​​
  • ​​iVX适合怎樣的使用者​​
  • ​​需要學習多長時間?​​
  • ​​5、iVX總結​​
  • ​​6、動手實踐iVX無代碼開發​​

1、前言:iVX是什麼?

首先在設計之初,需要需要明确的幾點是:

  • 浏覽器端的IDE
  • 盡可能無代碼并能支援全場景應用的開發
  • 盡可能一次開發支援多套系統營運
  • 對雲和應用導出部署有良好的支援

2、iVX——首個通用無代碼開發平台

首先進行剖析​

​通用、無代碼、開發平台、首個​

​其中具有的深刻含義

首個

在國内還未發現有類似的平台出現,現階段做的最好的​

​Mendix/Outsystems​

​等也隻能稱做“低代碼”開發平台(還做不到“複雜邏輯的無代碼表達”);而國内很多産品,由于不具備生成可導出部署獨立應用的能力,還不能算作“開發平台”。

開發平台

​iVX​

​​所開發的應用,都可以脫離​

​iVX​

​​獨立部署。也就是說,對于開發者而言,​

​iVX​

​就是一個“代碼生成器”。和手寫代碼無差别,可以脫離iVX平台任意部署,而大多數其它“低代碼”平台不具備這種“開發平台”屬性,隻能在平台内部使用。

無代碼

iVX提供了“原子級”元件系統,支援使用者“自定義元件”,并且配合圖靈完備的“邏輯編輯引擎/面闆”,就可以實作幾乎所有應用的前背景“無代碼”開發。

通用

指平台的通用性,幾乎适合所有的應用開發場景和支援在所有作業系統中運作。

  • 支援的作業系統:浏覽器WebApp、Android/iOS、小程式、小遊戲、釘釘、Win/Mac/Linux、也支援最新的國産鴻蒙。
  • 支援的開發場景:支援中大型複雜應用(基于無代碼的邏輯編排引擎),電商、大資料應用、表單、工作流、Bi、任務流、OA系統、工業物聯網、遊戲、網站、視訊應用、IM等等。

限制條件:

  • 一般不建議用iVX來直接實作大型算法(建議封裝之後在iVX内部調用);
  • 不支援作業系統級軟體的開發,例如防毒軟體(iVX主體是基于Web開發環境);
  • 大型3D的MMORPG多人線上遊戲開發(一般采用專業遊戲開發引擎制作)。
雲原生IDE:iVX首個通用且強大無代碼開發平台

3、iVX系統架構

應用架構概覽

一個iVX應用,主要由兩個部分構成,前台部分和背景部分:

雲原生IDE:iVX首個通用且強大無代碼開發平台
  • 前台部分,對應前端應用程式,負責用戶端界面的展示與互動。在iVX中,前端程式支援多種類型,包括web應用,小程式,原生app,與windows exe應用。在運作時,每個使用者都會在本地用戶端下載下傳一份前端程式來運作;
  • 背景部分,對應服務端程式,部署在背景伺服器(叢集)中,負責背景資料與通信邏輯的處理。背景部分進一步包括背景資源接口和服務邏輯:
  • 背景資源接口,主要包含各種資料庫,api,緩存,檔案等背景資源的操作接口,每一種接口都對應iVX中的一個背景元件。注意,iVX僅負責生成應用程式,并不提供背景資源本身。是以,要運作iVX的背景程式,需要額外接入背景資源,比如mysql資料庫,redis等等。在iVX公有雲上,這些資源已經自動接入,是以可以iVX應用可以直接釋出運作;如果選擇私有部署,則需要自行準備資源,詳見私有部署相關文檔;
  • 服務邏輯,主要包含服務元件,是前端程式和背景資源進行互動的“中央樞紐”。其提供了一個HTTP的服務接口(REST API),可以供iVX前端部分應用或其他第三方應用來調用,同時,可以直接操作各種背景資源,并定義内部處理邏輯。

舉一個簡單的🌰,假設有一個收集使用者資訊的應用,其結構如下圖:

雲原生IDE:iVX首個通用且強大無代碼開發平台

左側使用者界面,即前端應用,其運作在使用者的浏覽器端,負責收集使用者填寫的資訊;右側的資料庫表,即背景資源,負責存儲所有使用者送出的資訊;中間的送出服務,即背景的服務層,負責監聽前端應用發送過來的請求,對請求的資料進行處理,比如,判斷一下送出的資料是否合法,然後調用資料庫表,寫入資料。資料寫入之後,服務還需要根據寫入是否成功,将結果傳回給前端應用,這樣前端應用可以把資料送出結果在界面上提示出來。

前端技術架構

​iVX​

​​ 的前端核心架構為web應用,主體使用​

​react架構​

​​,部分内部子產品使用了自研的對象驅動引擎,并引用了​

​pixi.js, three.js​

​等畫布渲染庫。同時,web應用可以通過不同的打包方法生成其他類型的應用,如下圖所示:

雲原生IDE:iVX首個通用且強大無代碼開發平台

背景技術架構

iVX的背景程式,可以直接釋出在iVX公有雲上運作,也可以導出部署至其他伺服器環境。其詳細架構如下圖所示:

雲原生IDE:iVX首個通用且強大無代碼開發平台

一個iVX的背景應用,從邏輯上分成4個部分:

  • 服務請求處理層,負責處理http請求,微服務路由,生成證書等工作,其程式代碼由GO語言實作,在iVX公有雲上,這一部分部署在AWS的容器服務上。
  • 服務邏輯層,負責應用服務邏輯的實作,即我們在服務事件面闆中定義的所有邏輯。這一部分程式代碼是目前是js,在iVX公有雲上,由AWS的無伺服器函數計算來運作;
  • 背景資源接口層,負責提供各種背景資源的調用方法,比如資料庫的操作方法,檔案的上傳方法,這一部分程式代碼也是由GO語言實作,和第一層一樣,公有雲上部署在AWS的容器服務上;
  • 背景資源,即各種資料庫、緩存、檔案等資源,iVX并不直接提供這些資源,是以在上圖中用灰色表示。在公有雲上,各種資源主要使用AWS的分布式雲資源。

4、iVX适合什麼樣的使用者?學習周期?

iVX适合怎樣的使用者

iVX的學習并不需要什麼特别的技術和基礎,隻要你覺得自己的“邏輯能力”還不錯,應該都可以很好掌握這門程式設計語言。總體來說iVX适合(但不限于)以下使用者使用:

  • 想要學習并未來從事網際網路程式設計的人
  • 想要轉型網際網路工作的人或學生
  • 在校學生和老師(計算機相關專業、藝術設計相關專業、理工科等)
  • 初級中級的前端或背景開發者

需要學習多長時間?

​iVX​

​​畢竟是一門程式設計語言,有很多元件以及完整的程式設計體系,不可能​

​“看半小時”​

​​就學會了。​

​iVX​

​的學習一定需要一定的投入,但這種投入是非常有意義的,很有可能未來的很多年裡面iVX都會成為你學習工作的得力助手。

學習時長内部測試:

  • 計算機相關專業或從事過1年以上程式設計工作的人,2周左右可以基本掌握iVX并進行項目開發;
  • 從來沒有程式設計經驗的理工科專業畢業學生,2個月左右可以基本掌握iVX并進行項目開發。

5、iVX總結

iVX相較于傳統的程式設計方式的優勢可以總結為​

​四快​

快速學習

邏輯上其實很簡單,因為iVX沒有任何文法需要學習,圖形化的操作使整個開發步驟也大大簡化,是以iVX學習者隻需要從邏輯和具體功能(或架構)入手,就可以完成開發。

快速開發
雲原生IDE:iVX首個通用且強大無代碼開發平台

根據使用者熟練程度和使用規模,​

​iVX​

​可以數倍提升開發效率,往往以前10個人幹3個月的工作,使用iVX後,現在3個人不到一個月就能完成。

快速運作

這一點得益于​

​iVX的核心CORE部分​

​​,包括編譯和文法生成翻譯,以及内部各種核心算法,都是真正的​

​“大神級程式員”​

​,是以,開發者使用iVX開發的時候,就相當于獲得了這位“大神”的加持,是以生成的代碼品質也能得到保障。

快速維護