top of page

Wix Engineering Blog
Wix engineering blog tells the story of our daily challenges and our way of solving them. Read about architecture, scaling, mobile and web development.

Search


Is Scala Still Relevant? Yup
When I started with Scala in 2011 it was a pretty easy sell: show any Java developer the collections library, maybe a couple of lambdas...
Oct 24, 20174 min read


The Cost of Streaming Data from MySQL
Though the question of “How to query data from a database?” is quite an old one, we still have a reason to investigate it nowadays. True,...
Sep 18, 20175 min read


Change 100M URLs and Live to Tell
You think changing your website’s URL is quite simple. Use “Redirect” and you’re done, right? Actually no, it’s not that simple —...
Aug 3, 20176 min read

Wix Engineering Conference 2017
As dear Uncle Ben once said, “With great power comes great responsibility”, and with over 100 million Wix.com users worldwide – Oh boy!...
Jul 23, 20173 min read


GitHub & Wix Engineering Day 2017
“Wix is such a great global example of best practice in software engineering. With developer happiness at the core of Wix’s culture, Wix...
Jun 28, 20171 min read


Moving Beyond Animations to User Interactions at 60 FPS in React Native
What makes a good mobile app become a great app? What are the magical nuances that can set your app apart? Mobile is all about...
Mar 13, 20171 min read


Recycling Rows for High Performance React Native List Views
Recycling previously allocated rows that went off-screen is a very popular optimization technique for list views implemented natively in...
Feb 10, 20176 min read

Testing Asynchronous Code
Asynchronous code is hard. Everyone knows that. Writing asynchronous tests is even harder. Recently I fixed a flaky test and I want to...
Jan 21, 20173 min read

Scaling to 100M: MySQL is a Better NoSQL
MySQL is a better NoSQL. When considering a NoSQL use case, such as key/value storage, MySQL makes more sense in terms of performance,...
Nov 25, 20165 min read


ESLint Plugins: Plug into a Better Coding Culture
When writing code, it’s a good idea to use a code linting tool for several reasons: it identifies possible errors, enforces a clear...
Aug 24, 20163 min read

Build Your Own Chrome Extension
The Services Team at Wix uses JIRA as our Scrum board, which is displayed on a big TV in our team’s room. We love JIRA because it’s...
Jul 22, 20162 min read


Taking CSS To Scale: A Pragmatic Approach
Wix’s WYSIWYG website builder supports tens of millions of users creating websites, which are accessed by hundreds of million users...
Jul 13, 20166 min read


Two Services and One Angular Factory – Case Study
Running code in a client-side environment is tricky. Some APIs are available at runtime, but other APIs are not supported. Whether APIs...
Jun 4, 20162 min read

Color Your Logs and Stack Traces
At Wix we produce gigabytes of logs for different applications every day. Logs are not the only way we monitor our systems, but they play...
May 16, 20163 min read

Git: Committing vs Pushing vs Stashing – OR: “what to do if I just want to work locally”
Many people ask me for advice when they’re trying to modify some code locally without the changes finding their way into the remote...
Apr 20, 20163 min read

Developing Large-Scale Applications with TypeScript
As a front-end developer, you’ve probably heard about TypeScript. Maybe you even tried using it. But not many developers know what it is...
Mar 29, 20166 min read

Applying Javascript thinking to AS3 – Anonymous functions
When Wix started developing the HTML editor, many of the people whose full time job was AS3 development suddenly had to start developing...
Mar 28, 20162 min read


Refactoring with Kleisli Composition
For quite awhile we have been maintaining an application that processes XML and JSON data. Usually the maintenance consists of fixing...
Feb 5, 20163 min read


Scaling Wix to over 100M Users: The Beginning
When I prepared the first presentation to tell the Wix scaling story, we had just over 10,000,000 (10M) registered Wix users. By the time...
Jan 22, 20163 min read


Scaling to 100M: To Cache or Not to Cache?
This blog post is part 2 in the “Scaling Wix to over 100M Users” series. Read part 1 here. When Wix started, we used the Tomcat,...
Dec 18, 20154 min read

Fluent JavaScript
It is not enough for code to simply work. Good code is meant to be easy to understand, and it is much easier to understand code that is...
Nov 23, 20154 min read


How Many Threads Does It Take to Fill a Pool?
In recent months we have seen a small but persistent percentage of our operations fail with a strange exception—...
Oct 7, 20155 min read

A Tale of Two XML Transformations
A few months ago we noticed unusually high CPU usage in one of our services. At first we didn’t take it seriously, but when we got a...
Oct 3, 20152 min read


Rekuire | a module for NodeJS
Just wanted to share a nice piece of code I created.. During my recent experience with NodeJs, there was one thing that bugged me the...
Aug 17, 20151 min read
bottom of page