ThinkJS 2.0 is the first Node.js framework that fully supports all new 
ES2015/ES2016 syntax, and it was released on Oct 30 2015. By using the new 
syntax such as */yield in ES2015 or async/await in ES2016, it totally 
avoided the infamous Callback Hell <http://callbackhell.com/> that is 
intrinsic in native Node.js code. With the helping of Babel compiling, the 
final applications' code can run stably on all mainstream versions of 
Node.js. Also, ThinkJS provides the auto-compiling and auto-updating 
mechanism, to spare the troublesome restarting of Node.js service.

After more than a month of intense development, ThinkJS 2.1 was finally 
released! Whether in terms of features or perfomance, this new release both 
have gained greatly improving and upgrading.
Supports TypeScript

TypeScript <http://www.typescriptlang.org/> is a made by Microsoft language 
that "lets you write JavaScript the way you really want to". As a superset 
of JavaScript, Typescript has introduced the optional static data types, as 
you may know, that is significant for large projects.

ThinkJS 2.1 begins to support the creation of TypeScript projects, and 
during the development process, it runs the auto-compiling and 
auto-updating by default, free the developers from the messy manual 
operations like compiling. For more details, see here 
<https://thinkjs.org/doc/typescript.html>.
90% Faster

ThinkJS 2.1 has made many deep optimizations by make use of V8's 
trace(--trace-opt, 
--trace-inlining, --trace-gc). As the same time, it also replaced the 
native Bebal Promise library with the high performance bluebird library, 
that gives it much more performance promotion. Compare with ThinkJS 2.0, 
this release could make your applications run 90% faster.

To evaluate whether a framework is outstanding, not only needs to look at 
how many features it supports, but also needs to look at how fast it's code 
can run. Althought ThinkJS is designed to accelerate the development of 
large scale projects and because of this the features as well as the 
complexity it has are far beyound Express and Koa, but its performance is 
completely comparable with Express and Koa, the figure below shows us the 
tesing reslut.

[image: The performance testing about ThinkJS]

Note: The data in the above table comes from a distributed pressure testing 
system.

As the above data demonstrated, though the performance of ThinkJS is a 
little less than Express and Koa, but the differences between them are very 
small.

If you are care about the testing code, you can download it from here 
https://github.com/thinkjs-team/thinkjs-performance-test, and run it on 
yourself available environment. If you want to use the ab testing tool, 
please remember that it is very unstable in Mac environments, so the 
testing results may various from time to time.
Update to Babel 6

ThinkJS 2.0 use Babel 5 to compile your projects' code, and ThinkJS 2.1 has 
updated it to Babel 6. As a result, the back end code now could integrated 
with the front end code more seamlessly.
Multi-Levels Controllers

In traditional MVC patterns, there is only one level of Controller. To 
remedy this, ThinkJS 2.0 has supported Modules, but for very large 
projects, that is still not enough.

ThinkJS 2.1 begins to support multi-levels Controllers, that means you can 
create subdirectoreis in every Controller directory. The levels of the 
directories are totally depand on the demands of your projects. Finally, 
the multi-levels Controllers made ThinkJS could be used on various 
projects' complexity.
Supports PostgreSQL

ThinkJS 2.1 has supported PostgreSQL, so the amount of databases that 
ThinkJS supported has reached four. In the future releases, ThinkJS will 
continues to support more databases, and of course, the developers could 
always extend the ThinkJS's databases supporting themselves.

For more details about this release, please visit 
https://thinkjs.org/changelog.html.
Related Resources
   
   - ThinkJS Official Website: https://thinkjs.org/
   - ThinkJS Documentation: https://thinkjs.org/doc.html
   - ThinkJS on GitHub: https://github.com/75team/thinkjs

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/4f30d0ab-c0a0-422d-8829-1244ebb2c72c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to