PulseTile - Making Technical Choices in the fast world of frontend JS
So one of the most difficult choices to make when crafting a frontend framework is which tools to use. We have been over this many times and gone for a mix that makes sense for now. We'll be keeping our eyes open as the trends develop, will React/Angular/Vue/Aurelia/other win the day? We'll follow them closely and follow the leader from the pack.
PulseTile uses the following technology stack:
- React 15.6.2
It helps you write applications that behave consistently, run in different environments (client, server, and native),
and are easy to test. On top of that, it provides a great developer experience,
such as live code editing combined with a time traveling debugger.
We use redux module for React - https://github.com/reactjs/react-redux
Webpack is a module bundler. It packs CommonJs/AMD modules i. e. for the browser. Allows to split the codebase into multiple bundles, which can be loaded on demand.
This means webpack takes modules with dependencies and emits static assets representing those modules.
- Split the dependency tree into chunks loaded on demand
- Keep initial loading time low
- Every static asset should be able to be a module
- Ability to integrate 3rd-party libraries as modules
- Ability to customize nearly every part of the module bundler
- Suited for big projects
RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface.
ECMAScript6 (ES6) is a scripting language specification standardized by ECMAScript International. It is used by applications to enable client-side scripting. We decided to use the ES6 syntax in our application to create reusable components.