Fibjs

程序示例

用Fibjs撰写的HTTP Server版hello world示例：
const http = require('http');let srv = new http.Server("", 8000, (request) => {
  request.response.setHeader('Content-Type','text/plain');
  request.response.write('Hello World!');};console.log('Server running at http://127.0.0.1:8000/');srv.run();
另一个简单的TCP服务器示例，监听（Listening）端口7000并输出(echo)之前输入的信息：
const net = require('net');const coroutine = require('coroutine');let s = new net.Socket(net_config.family, net.SOCK_STREAM);s.bind(8080);s.listen();coroutine.start(() => {
    while(1) {
        coroutine.start((c)=>{
            console.log(c.remoteAddress, c.remotePort, "->",c.localAddress, c.localPort);
            try {
                var b;
                while (b = c.recv())
                    c.send(b);
            } finally {
                c.close();
                c.dispose();
            }
        }, s.accept());
    }});console.log("Tcp Server listen on port 8080);
上例中第二个程序，演示了如何使用Coroutine，coroutine使得while(1)不会阻塞后面的代码从而实现了并发。

Coroutine

Fibjs以单线程运行，使用非阻塞I/O调用，这样既可以支持数以万计的并发连接，又不会因多线程本身的特点而带来麻烦。众多请求只使用单线程的设计意味着可以用于创建高并发应用程序。Fibjs应用程序的设计目标是任何需要操作I/O的函数都使用Coroutine协程来完成。当使用Fibjs进行服务器应用开发时，每次和客户端创建连接都会创建一个Fiber(task)放在队列中等待，javascript线程依次取fiber执行，每当执行到I/O操作，Coroutine都会把上下文切换到后台线程(worker thread)来完成相应的操作，并且把Javascript的上下文被切换到下一个fiber中继续执行。当后台线程的fiber执行完毕之后会重新把fiber丢进队列尾部等待，等待Javascript执行到该fiber。从而完成这个异步操作。

V8

V8是为Google Chrome设计的JavaScript运行引擎，Google于2008年将其开源。V8用C++写成，它将JavaScript源代码编译成本地机器码而不是随时解释。
Fibjs的核心功能被包含进一个JavaScript库，并通过C++将各部分与操作系统进行联系。

npm

npm是Node.js附带的包管理器。Fibjs高度兼容了npm。npm是一个命令行工具，用于从NPM Registry中下载、安装Fibjs程序，同时解决依赖问题。npm提高了开发的速度，因为它能够负责第三方Fibjs程序的安装与管理。

统一API

Fibjs将浏览器、数据（例如MongoDB或Redis）等组合到一起，通过JSON提供一个统一的接口。由于前端框架和一些基本的后端开发技术（如MVC、MVP、MVVM等）变得流行，Fibjs也支持客户端和服务器端重新利用相同的模型和接口。