Crafting React apps in 2019

Crafting React apps in 2019

Sleek v2.0 public release is here

Lorem ipsum dolor sit amet, consectetur adipiscing elit lobortis arcu enim urna adipiscing praesent velit viverra sit semper lorem eu cursus vel hendrerit elementum morbi curabitur etiam nibh justo, lorem aliquet donec sed sit mi at ante massa mattis.

  1. Neque sodales ut etiam sit amet nisl purus non tellus orci ac auctor
  2. Adipiscing elit ut aliquam purus sit amet viverra suspendisse potent i
  3. Mauris commodo quis imperdiet massa tincidunt nunc pulvinar
  4. Adipiscing elit ut aliquam purus sit amet viverra suspendisse potenti

What has changed in our latest release?

Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus

All new features available for all public channel users

At risus viverra adipiscing at in tellus integer feugiat nisl pretium fusce id velit ut tortor sagittis orci a scelerisque purus semper eget at lectus urna duis convallis. porta nibh venenatis cras sed felis eget neque laoreet libero id faucibus nisl donec pretium vulputate sapien nec sagittis aliquam nunc lobortis mattis aliquam faucibus purus in.

  • Neque sodales ut etiam sit amet nisl purus non tellus orci ac auctor
  • Adipiscing elit ut aliquam purus sit amet viverra suspendisse potenti
  • Mauris commodo quis imperdiet massa tincidunt nunc pulvinar
  • Adipiscing elit ut aliquam purus sit amet viverra suspendisse potenti
Coding collaboration with over 200 users at once

Nisi quis eleifend quam adipiscing vitae aliquet bibendum enim facilisis gravida neque. Velit euismod in pellentesque massa placerat volutpat lacus laoreet non curabitur gravida odio aenean sed adipiscing diam donec adipiscing tristique risus. amet est placerat in egestas erat imperdiet sed euismod nisi.

“Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum”
Real-time code save every 0.1 seconds

Eget lorem dolor sed viverra ipsum nunc aliquet bibendum felis donec et odio pellentesque diam volutpat commodo sed egestas aliquam sem fringilla ut morbi tincidunt augue interdum velit euismod eu tincidunt tortor aliquam nulla facilisi aenean sed adipiscing diam donec adipiscing ut lectus arcu bibendum at varius vel pharetra nibh venenatis cras sed felis eget dolor cosnectur drolo.

In the javascript world of today, there’s lots of framework, templates, boilerplates, even several versions of Javascript itself.

Anyone already into this world is mostly residing either in Angular or React’s lap, some in Vue which is a great emerging player in this ecosystem.

In case you’re not yet into it, how should you go about it? Are you deciding for yourself or for your team as to which framework / approach to take? If so, this overview is for you.

The major decision

Lately I’ve heard some people are still looking to go at Front-end development without a framework (“Let’s just use Vanilla JS!”).

While that’s bold and very customizable, and will make you know the gist of JS like the back of your hand, it’s not something you’d do unless you’ve got Experienced devs, no deadlines, and a love for extreme sports.

So in case you don’t fall in that category, let’s go over React, definitely not a bad choice between the Three leading frameworks.

React in a nutshell

First off, React has been around the longest of the 3 major frameworks.

React is actually a UI library and not a framework. However, its ecosystem provides you with everything you need in order  to build anything you’ve imagined.

React (as all Three frameworks at some degree or another) is concentrated around the components approach, whereas in React anything is a component. So a page, a section or even an icon – can all be represented as components, which are then used in composition to create your app’s various pages and interfaces.

React components are derived into Two typesFunctional component and Class components. The main difference between them is that Class components have an internal state while Functional components are stateless.

That said, the recent introduction of React Hooks (still an Experimental feature) enables Functional components to have state out of the box, but actually does much more than that (more on this in a separate article).

Having anything as a component allows for a consistent interface in/out of components – in React the way into components is called Props (which is essentially a javascript object) and the way out varies, but is usually comprised from functions passed as props which are used as a way to communicate out of a component.

React’s ecosystem is where Redux was born, which is today the de-facto state management approach for Front-end apps (I use the word “Approach” as there are many tools using Redux’s approach in other frameworks, and Redux by itself is actually not even dependant on Redux).

The learning curve for React itself is not too steep and you can create a few components and a basic layout very quickly. However it highly depends on a person’s knowledge of Pure Javascript concepts and of ES6.

That said, You can only go so far without React’s ecosystem (in our current hooks-experimental-era that is) and the Redux workflow and the various tools used in even the most straightforward apps are a learning curve in its own.

Still, the sheer amount of helpful knowledge which exists for React on the web makes it worth the learning curve and its flexibility and performance is second to none.

How to start developing with React

If you’ve dipped your feet in the water but you’re still new in the Front-end development space, the following courses will get you on track fast and with all the knowledge you need to write effective & maintainable code (it’s not free but you can finish all within a month’s time and it’s totally worth it as you’ll have everything you really need to start):

Also, you should know that React hooks is almost in production so keep your eye on it and once it’s in widespread use you’re definitely welcome to hop on board.

If you’re worried should you start with React or the other frameworks – I suggest React as it’s in widespread use, based on pure JS as its main driving force (always good to know your JS well) and the core principles of components etc. are the same across the 3 major modern frameworks.

So once you’re well into React you can easily get into any other modern Framework.

About the author

Nadav Lebovitch is the Founder & CTO of nSoft, helping VC-backed startups build scalable web and mobile solutions. With 18+ years of experience, he has led hundreds of projects using modern technologies like React, Node.js, and PostgreSQL.