A browser to get around the low end of the code framework to develop a formal open-source it!

  Had wanted to try to do a little re-open perfect, but personal ability is limited, unable to focus on achieving built-in distributed database, so I want to use the power of the community to verify and advance.

First, the frame design goals:

Simple: to have more time to focus on business areas;

Flexible: You can not have any restrictions, it can be flexibly extended;

Quick: can as quickly as possible to develop applications;

Second, the overall configuration of the frame:

  Left for the overall structure, the right is the structure of the components of each application node:

Currently relational database support Postgresql, NoSql support Cassandra or ScyllaDB

Third, the technical analysis principles:

Model Driven:

  The frame data structure involved in the application system, the business logic, user interface, etc. for various types of the abstract model, a complete application system by combining the models.

Virtual Code:

  Code-related service model and view model within the framework of the code are all virtual (similar to the pseudo-code), will have been converted to run compiled code, the code view of the model to perform the conversion, the service model by the IDE TypeScript when you save the publishing model transcoding from the rear end of Roslyn.

Service vessel:

  Compiled unified service component is similar to plug-in is loaded invoked by AppContainer child process, and support a separate debugging and hot update.

Fourth, the project structure description:

appbox.clr

  Server C # projects, including:

  • appbox.Core: base project, comprising a model definition, corresponding to the model data structure, expression definition, the custom serialization, cache and the like;
  • appbox.Server: server infrastructure projects, including the protocols and storage api;
  • appbox.Design: IDE designed to support the project, mainly various types of command processing front end of the IDE;
  • appbox.Store: storage project, built-in database support and third-party database;
  • appbox.Host: a main server program, the above referenced items, mainly comprising WebHost communication with the distal end;
  • appbox.AppContainer: Services sub-process server runtime, each instance of the management service model, main memory and appbox.Host process communication by sharing.

appbox.dev

  前端Web IDE工程,用于设计与发布各类模型。npm run build后复制到服务端wwwroot/dev目录下,通过浏览器访问服务端地址http://ip:port/dev进入。

appbox.app

  前端应用工程,npm run build后复制到服务端wwwroot/app目录下,通过浏览器访问http://ip:port进入开发好的应用界面。

相关编译及详细说明文档将陆续在源码README内说明。

Enjoy coding! Enjoy your life!

  差点忘了GitHub地址:github.com/enjoycode,别忘了点个星啊!

Guess you like

Origin www.cnblogs.com/BaiCai/p/12427364.html