Giter Site home page Giter Site logo

vertx-zero-0.6's Introduction

Zero Framework

Maven Central Apache License 2 Build Status ![Gitter](https://badges.gitter.im/Join Chat.svg)

This project is based on Vert.x, the idea came from Spring-Boot framework. It could help developers focus on business requirements instead of more details of Vert.x. The project contains two parts "Up" and "Zero". "Up" means running up, " Zero" means no more workload for high producation, you could run your project with default configuration only.

Micro Service architecture is a future focused method to design and build mature system and help more companies to implement project faster, based on this idea, Zero Framework came out. It's micro-service oriented framework and will be verified by real projects. Also it provide a tool set to help developers to do correct things. Now there are two enterprise application cases those are implemented by Zero, although the number is small, but the cases could verify that Zero can be used in production environment instead of tool, demo or good looks.

This framework contains four sub-projects, all these projects are located under vertx-gaia sub-project.

  • vertx-gaia/vertx-co: Core Library of Zero Framework
  • vertx-gaia/vertx-tp: Third part integration components in Zero Framework
  • vertx-gaia/vertx-ifx:Useful plug-ins that could be supported in Zero Framework with Infix Structure
  • vertx-gaia/vertx-up: Zero Up Engine with nested vert.x web container
  • vertx-gaia/vertx-rx: Zero Up Engine with nested rxjava web container instead of web container ( Experimental Version for future )
  • vertx-import: Zero Usage dependency project to perform development, provide uniform dependency for your projects.

In latest version, examples have been moved to https://github.com/silentbalanceyh/vertx-zero-example The chinese training book is 《Zero思然汀》

If your wan't to study vert.x development skill, you can refer chinese tutorial:《Vert.x逐陆记》. ( In Progress )

0. Features

In 2019, Zero Framework has been re-factor to new version 0.6.x and here I provide the feature list to let developers know more details in Zero Framework: Feature List.

1. Documentation

1.1. Official Document

1.2. Related

  • You can refer Zero UI to visit front-end framework, it runs 3 production cases ( CN ).
  • You can refer Spring Up to visit spring framework bridged component ( Experimental Version ), it runs one production cases ( CN ).
  • You can refer Origin X to visit knowledge management of all documents, it act as entry of documentation ( CN ).

2. Envrionment

2.1. Configuration in pom.xml

If you want to use Zero framework, you can add following dependency into you pom.xml to use Zero:

<parent>
    <artifactId>vertx-import</artifactId>
    <groupId>cn.vertxup</groupId>
    <version>0.6.2</version>
</parent>

2.2. Start Up

In your project, you can provide main entry only as following to run Zero ( Annotated with @Up ) .

import io.vertx.up.VertxApplication;
import io.vertx.up.annotations.Up;

@Up
public class Driver {

    public static void main(final String[] args) {
        VertxApplication.run(Driver.class);
    }
}

Once the Zero is up, you can see following logs in your console ( The default port is 6083 ):

[ ZERO ] ZeroHttpAgent Http Server has been started successfully. \
    Endpoint: http://0.0.0.0:6083/

2.3. Tips

2.3.1. Data Specification

In zero framework, we designed uniform data specification as following response data format for business usage:

{
    "data":
}

After 0.5.2, it could support freedom data format response as you wanted such as:

Hello World
1
...

If you want to switch to freedom mode, you can set the configuration in vertx.yml file:

zero:
    freedom: true     # The default value of `freedom` is false.

2.3.2. Logging in Zero

You can use following function in your coding to get Logger component instead of log4j because we have re-designed the detail implementation of logging system.

// Zero Logger initialized, connect to vert.x logging system directly but uniform managed by zero.

import io.vertx.up.log.Annal;

// Then in your class
public final class Statute {

    private static final Annal LOGGER = Annal.get(Statute.class);
    ......
}

3. Other Information

3.1. Case Actions

  1. TLK Video Mobile System ( 0.4.6 )
  2. Micro Hotel Platform ( > 0.6.2 )
  3. CMDB/ITSM Platform ( > 0.6.2 )
  4. Training Demo ( latest )

3.2. WeChat Group

You can send request to group leader: 445191171 to contact with the author team of zero.

DESIGNED IN CHINA

vertx-zero-0.6's People

Contributors

silentbalanceyh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.