Skip to content

Large-scale client-side application development at Prezi

Photo of Szilveszter Farkas
Hosted By
Szilveszter F.
Large-scale client-side application development at Prezi

Details

Adam Peresztegi (https://www.linkedin.com/profile/view?id=58406937) (Prezi): Growing a Zooming rendering-engine for the Browser

Prezi's JavaScript rendering team was formed this year with the aim to implement a high performance rendering engine with zooming capabilities. In the process of migrating rendering primitives from the ActionScript codebase this newly formed squad had to overcome several quirks of the different Canvas implementations. As the codebase grew they needed to come up with a solution to manage complexity. They borrowed ideas from the game development world and implemented their CES (Component Entity System) with some interesting twists.

Adam is the member of the JavaScript rendering team since it's inception. He found this new challenge after being submerged in the intricacies of Prezi's co-editing platform. He finds his passion in looking for the connection between seemingly unrelated things.

Jozsef Pengo (https://www.linkedin.com/pub/jozsef-ferenc-dzso-pengo/51/704/879) (Prezi): Continuous Integration: How to build a pyramid

As a large, modular front-end application gets bigger and bigger, an increasing number of challenges need to be overcome while working on a reliable continuous integration flow. No one cares how many times you have to invert the testing pyramid to be cool, so let's talk about the technical details of automation, speed, and performance of Prezi's new CI architecture, how we reduced the dev cycle from days to 15 minutes from commit to deploy.

Dzso is front-end engineer at Prezi, automation and TDD fan. After he spent months to create integration test environment for modular front-end app, now he learns more and more about the other levels of the pyramid while planning and developing features.

tags: JavaScript, TypeScript, Automation, CI, Mocha, Sinon

Balint Gabor (https://www.linkedin.com/pub/b%C3%A1lint-g%C3%A1bor/a/6a2/73a) (Prezi): Managing States and Events in Big Client Applications

In Prezi we had to learn that managing states and events in big client applications with GUI can be really hard. We are attacking the problem from multiple directions. We modularize our application heavily, so there are separate modules for separate features, we use reactive programming to escape from event hell, and we adapted ideas from Facebook Flux to encapsulate state and to avoid redundant state representation. This architecture helps us to scale up the development of the complex user interaction flow we have in this canvas-based graphical productivity tool.

Balint is working for Prezi for five years, and he spent most of this time developing the Prezi editor. He learned the hard way how is it to grow from two developers to dozens to work on the same code. His goal is to build an awesome architecture for the Prezi applications, a stable base for the fast growth of the code and the company.

■ ■ ■

Schedule

6:15pm - Doors open
7:00pm - Doors close, first presentation starts
7:30pm - Second presentation starts
8:00pm - Third presentation starts
9:00pm - Lights off

Drinks and snacks are provided by Prezi.

Photo of Prezi Tech Talks SF— #prezitechtalks group
Prezi Tech Talks SF— #prezitechtalks
See more events
Prezi SF HQ
642 Harrison Street 2nd Floor · San Francisco, CA