React<Ma> Principles

React<Ma>, is ReactMa::dness / ReactMa::ster / ReactMa::chinery.

It stands for our focus on React.js + JavaScript + Typescript

We are passionate about Javascript ecosystem, we strive to be master developers and like all craftsman we acquire and use most effective JS machinery to get job done effectively.

1.

Focus

We focuse on Javascript / Typescript / React.js / Node.js ecosystem so we are professional and effective. We alway follow latest technology advancement, develop our skills and toolset, and deliver products and services effectively and efficiently.

  • JavaScript is that only programming language across frontend and backend.

  • For website, browsers, H5, WeChat small programs, JavaScript is the only choice.

  • For iOS and Androd App,React Native has grown mature enough to be match native applations.

  • For backend, Node.js can run high traffice and high avialability applications, for example Uber、Paypal etc. are running on Node.js.

We believe in JavaScript ecosystem.

2.

Quality code is key

We belive high quality and concise code is the key to fast development of MVP and scaling up of product. We also believe that ordinary developers with proper training, tooling and processes, and discipline, can develop high quality and concise code.

We use mature and proven architecture patterns, adopt JS new language features as in ES6, and Typescript, lint and testing tools, agile and scum to achieve the goal.

Testing automation and high quality documentation is also key for code quality. We believe following high coding standard and documentation standard will not increase development and maintenance cost but it will decrease overall cost, improve effectiveness and delivery quality, for both our client's and our own benefits.

3.

Tooling

An old Chinese saying “工欲善其事,必先利其器” says it well, 'a craftsman must sharpen his tools to do his work well'. We also put extra efforts to choose and master the appropriate tools to do our work.

To name a few, our core tools include:

  • Webpack - packaing, compiling and deployment tool
  • Git - Sourcode repository and version control tool
  • Jira - Requirement, bug management and Agile/Scrum development process
  • Jest - Testing
  • VSCode / Emacs - Editor / IDE
  • PM2 - Node process
4.

Partnership

We strive to be our client's partner. Each client's success is our scuess. We start from the first contact with our client, we work hard to understand our client's needs, culture and team, establish long term relationship, grow with our client and help client succeed.

Because our focus, we rely on our partners to do work we are not speacilized in. We work with designers, consulting firms, full services developers to supplement our expertise and team in JavaScript / Typescript / React.js to serve our clients.

5.

Transfer knowledge

JavaScript / Typescript / React.js is dynamic. Everyday there is new ideas, frameworks, tools and releases.

Because of our focus, we can keep up with technology development, bordern as well as deepen our knowledge and skill. We use training, workshops and cooperations with clients, transfer our knowdege to other developers and help our clients imporve technical skills.