2013 NOV 9-11, BEIJING

A conference for the JavaScript community in China


  • Linqing Lu

    Node.js on the road, on the cloud

    Talk plan:

    A- Node.js roadmap from Bert/Ben in Node.js core team(details coming around Sep).

    B- Hosting Node.js apps with PaaS and MBaaS.

  • Kyle Drake

    Bitcoin and JavaScript: The new gold standards

  • Kang-Hao (Kenny) Lu

    Optimizing JS Games: Hidden Classes, Inline Caches and Dictionary Mode

    The main theme about this talk will be JS performance in JS games, or any JS applications in which DOM access isn't the bottleneck. As a developer of a game-targted browser engine Shpinx, I'd like to talk about concepts and stragies we use while optimizing games (不江湖, from fps 30 to 50) and canvas library (Cocos2d-html5, notably pull request #1015).

    In addition to the concepts of hidden classes and inline caches, which were already discussed in some of the excellent talks like Vyacheslav Egorov's, this talk focuses more on dictionary mode and common ways how JS objects fall into it. Some demos of the tools for examining these internals might also be provided.

    The talk will be given in Chinese.

  • Coffee Break

    Lets have some coffee

  • Jason Denizac

    My Year With Node.js

    Over the past year I've dived deep into Node.js. I'll share what I've learned (and what I wish I had known) about the technology, the community, and building a startup around this vibrant open source ecosystem.

  • Isaac Mao


  • nodeschool.io Workshop

    with James Halliday (@substack)

    A hands-on workshop with James Halliday (@substack), learning Node.js using the new site nodeschool.io.

  • Lunch Break

    Lets have some lunch

  • RunZeng Guo


  • Matthew Eernisse

    Zero to Ready with Geddy

    The Geddy Web framework provides a simple, structured way to build a scalable, production-ready Web app with NodeJS.

    In this talk, I'll show how easy it is to get started working on a Node app, starting by creating an app using Geddy's CLI, and a walk-through of a basic app layout. I will then move on to setting up a database, and then adding authentication by installing the geddy-passport module. The focus here is on building a practical, working application, along with demonstrating the setup of a JavaScript MVC app, and some Node conventions for code.

    After setting up a basic app, I'll move on to showing how to use Geddy's generator scripts to set up a basic REST API, demonstrating how Geddy's MVC (model/view/controller) architecture works. I'll start with the model layer, Geddy's ORM (object-relational mapper) -- showing how Node's asynchronous programming paradigm works with database-access, and then moving on to Geddy's query API, and database migrations for schema changes. Next I'll show how to use the retrieved data to render a response -- either structured data (like JSON), or rendering HTML templates.

    Last I'll cover how Geddy's MVC integrates with realtime -- using the same model code in the browser as on the server, and then show how to test a Geddy application.

    The idea is to leave attendees with a working application, and a basic understanding of how the pieces of a Geddy app fit together -- to show how easy it is to use Geddy to jump-start a server-side JavaScript adventure with Node.

  • Coffee Break

    Lets have some coffee

  • Anson Yu Wang

    Implementing BigPipe in Node.js

    I'll show you what BigPipe is, when to use it and how you can implement it using node.js.

  • Belleve Invis

    On Harmony

    - Introduce proposals of ECMAScript-Harmony (abbr. ES-harmony)

    - Deep analysis of selected new features (incl. Classes, Proxies, Module system and Generators)

    - Discussion about script language design and optimization

  • Charlie Crane

    pomelo欧洲之旅 (Pomelo European Trip)

    Discuss the experience on attending and speaking at JsConf.eu and LXJS.

  • Weijun Liu


    The topic will cover a short introduction of pomelo framework, and new features since V0.2.

    Then, we'll introduce our online message push platform, which is implemented in pomelo. We will talk about the architecture, design detail, features, performance issues of our message platform, etc.

  • Coffee Break

    Lets have some coffee

  • André Rodrigues

    Build a Photobooth App with Azure and Kinect

  • Nick Carneiro

    A Survey of Client-side Data Visualization

    The rise of data-driven product management has brought data visualization to the fore in recent years. JavaScript developers are uniquely positioned to take advantage of high demand for data visualization and new browser features. In this talk I cover the history of data visualization, the best tools available today, and what's next.

    Topics Covered: Best and worst practices, modern datavis tools (D3, Google Charts), performance concerns

  • After Party @ 车库咖啡

    Join us for food, drinks and conversation.

    TODO: Directions


  • Krystal Mok

    Implementing a high performance JavaScript Engine

  • Eric Redmond

    HTTP is Hard

    As web services have become a standard method for interacting with a central service, REST principles over HTTP are the most common interface. But the HTTP specification is actually very complex (much more complex than telnet or IMAP). This talk focuses on the (often) unseen underlying complexity of properly developing web services against the HTTP protocol, and provides some suggestions on developing node.js web services that adhere to the spirit and letter of the HTTP specification.

  • Coffee Break

    Lets have some coffee

  • Alyssa Ravasio

    Lean Development with Node.js

    Largely based on my personal experiences and those of entrepreneurial friends in the valley, I want to talk about why Node.js is so great for building startups and how it facilitates a lean style of product development.

    My story: Building Hipcamp with Node.js and the pivots I've made, why Node.js allowed us to make them faster and more seamlessly. A couple places where I fell down.

    Art of Prototyping: How Node.js empowers building products that test riskiest business assumptions first (super lightweight, fast).

    Customer Development: How Node.js enables more rapid product iterations, quicker reaction of user feedback, how to elicit and integrate user feedback into product roadmap

    Lean Team: Why Node.js is great for building products with small teams (everyone can do server and client side, no loss of time in context-switching)

    Analytics with Node.js: How to build, measure, learn

  • Oren Golan

    Don't Panic - The Hitchhiker's Guide to Node

    Full-stack JavaScript application opens up new possibilities but it also adds a challenge of making many in-flight decisions, such as the following: Should we use a web framework? Which one? How to organize our client-side codebase? Should we write in Object Oriented or Functional style?

    In this talk we won't spend time on fluff and dive right in to a real codebase. I'll share code and practices that are applicable immediately to any JavaScript developer.

  • Lightning Talks

    Come share with us! Sign up to give a 5 minute talk on a topic of your choice.

    Come share with us! Sign up to give a 5 minute talk on a topic of your choice.

  • Lunch Break

    Lets have some lunch

  • Johnny Mukai

    Self Discovery: Looking for Insight in Javascript’s Esoteric Roots

    One of the most common gripes about Javascript is its use of prototypes rather than classes, if the myriad tools, patterns, and frameworks that massage it into a more classical OOP model are any indicator. But are these approaches hammering a prototypal peg into a class-shaped hole? What was happening in the early 90s that made Brendan Eich reach for prototypes rather than classes when designing his new language?

    To find out, let’s a take a trip back in time and examine an exciting and very different language that heavily influenced Javascript: Self. Self is an ambitious language that, among other things, introduced prototypal OOP to the programming world. What lessons can we learn from this early pioneer of prototypal languages? Can we write better Javascript by understanding Self’s goals and approach to programming? Let’s explore the ambitions of Self and see if we can suss out the advantages and disadvantages of the prototypal approach and apply what we find to our own Javascript writing.

  • Kim Joar Bekkelund

    Patterns of Large-Scale JavaScript Applications

    JavaScript has come a long way in few years. As we no longer need to battle DOM differences we can focus on building our applications instead. Now, however, as more and more application logic move from the server to the client our main problem is that we need to unlearn our earlier DOM-centric approach to JavaScript. Tools such as Backbone and Angular help, but before we are able to use the effectively we have to change some of our neural pathways. In this talk I will look at a couple of patterns that will help you move away from jQuery spaghetti and get you started on a foundation for building large-scale JavaScript applications.

  • Coffee Break

    Lets have some coffee

  • Jakob Mattson

    Automated CSS-testing: Not just a myth

    You have some kind of test suite for your web app, so you know the features work. But does it look right? You fire up half a dozen virtual machines and open your drawer with five different mobile devices in it to check it out. The lack of automation in that is embarrasing.

    Some people say that you can't test HTML/CSS. I'd like to show you the opposite. You can automate testing visual layout, refactor your CSS with confidence and get rid of this pain.

    You understand why. Let's talk about how.

  • Coffee Break

    Lets have some coffee

  • Zhouxuan Yang


  • 沈嵘 (Rong Shen)

    Advanced Grunt.js

    我是一个Grunt的重度用户,Nextday的Web Site和Backend API(预计在8月中发布)都是基于Grunt进行CI的。

    本次话题将以一个静态站点的生成和部署为实例,讲解Grunt的高级用法。同时,也便于初次使用的用户能够通过Copy & Paste完成一些常见的任务。

  • After Party @ Pyro Pizza

    Join us for food, drinks and conversation.

    TODO: Directions