BrazilJS - Part 5

Last post: part 4.


###O fantástico mundo do JavaScript (Jean Carlo Emer) Jean Carlo Emer

This talk caused a stir, showing some code without semicolons while Douglas Crockford was present in the room. What an outrage! That said, some nice concepts were presented, but I felt the content was too disconnected. Some parts looked like an introduction to javascript, and at the same time there was CoffeScript code and mentions to ES6, AMD, transpilers, etc. Among the subjects of the talk were how JS supports OOP and functional programming, code modularization and some new features that are coming to the language. A lot to digest.


###Workers of the web (Thibault Imbert) Thibault Imbert

Thibault gave a primer on Brazilian disco-funk WebWorkers, showing how and why to use them. The slides are pretty detailed, and there is also a companion post for the talk. WebWorkers come in handy when you need to perform some computation and doesn’t want to block UI rendering. Currently there are two communication models to work with them (message cloning and transfer of ownership), but neither are suitable to do paralelization. It’s also nice to know that they are widely supported, and easy to detect and fallback to other strategies if necessary.


###NodeJS, the good, the bad and the ugly(Caridy Patiño) Besides being subject of presentations, node.js has other more practical uses. Caridy showed for what kind of applications node is a good fit, and gave some tips on what to do and what not to do when using node. For web applications, debugging is hard to do (I guess the problem here is the tooling is not there yet). The GC also poses a problem, and object creation should be minimized. Session, authorization and caching are tricky to do on node, and should also be avoided. On the other hand, server and client can share code, it’s easy to package JS applications for the web and there are loads of new libs being created for node every day. Another class of application for node are CLI tools. In this case, the advantages are the async nature of the plataform (which can provide some speed with the non-blocking APIs), support for multiple platforms and the NPM.