Everything you need to know about React
April 17 2018

Look, we get it. If you’re a founder, you might not have the time or the inclination to deepdive into the world of development. The techy stuff really isn't your bag, and you'd rather be thinking hard about your product-market fit than worrying about which JavaScript Libraries you should be using.


That's perfectly understandable. However, after years of experience working with entrepreneurs, one thing has been made abundantly clear to us - when it comes to building a product you must, at the very minimum, be able to speak the language of a developer.


Even without the hard coding skills, a general knowledge of the component parts that go together to form your product is essential for you to understand the possibilities and limitations of what it can do. Without this, you're very likely to find yourself making unreasonable demands of your development team or, worse still, missing out on opportunities to improve.


With all this in mind, we'd like to introduce you to React - one of the central technologies we work with here at the studio and a big piece of the puzzle when it comes to your knowledge of development paradigms. Let's take a look and see what it can do for you.


What is it?

React is a JavaScript Library designed for building application user interfaces. That means it's a bank of component parts that your developer will use as raw materials for putting together the front end of your application - the part you see when you load up the app on your phone.


React is used by thousands of developers all over the world in big companies like Facebook and Instagram to small startups. Additionally, React has generated an independent global community of developers all working to provide new features and compatibilities to the library. JavaScript is a web standard coding language and a cornerstone of web programming, so web developers from all sorts of backgrounds will find it easy to work with.


What can it do?

You can think of React as an enormous time-saving device. Instead of building every interface component from scratch, your developer can simply select the right component from the React library or define custom reusable components and pull it into your application. It's a super-fast and simple way of coding that helps you save development time and costs. Of course, you can customize your components from top to bottom to fit the needs of your product. You can even use React-oriented frameworks like React Native to build highly scalable mobile apps purely in JavaScript.


Using an established library like React also helps to ensure the quality of your build. Plus, if you ever need to change development teams or add new members, they'll be able to quickly engage with the existing code and manage it effectively.


One of its unique points is that not only does it perform on the client side, but it can also be rendered server side, and they can work together interoperably.


It also uses a concept called the Virtual DOM that selectively renders subtrees of nodes based upon state changes. React runs a "diffing" algorithm, which identifies what has changed and does the least DOM manipulations in order to keep your components up to date. It makes the development faster and the user experience that much better.


See the Pen Hello World - React JS by Saurabh Sharma (@saurabhsharma) on CodePen.


Another benefit is that your developers will be able to use Javascript XML syntax transform (JSX) to add even more power to your React App. It lets you add simple HTML-style tags into your code which can be transpiled by Babel into normal Javascript for added speed.


What are its limitations?

React only operates on view layer and integrating React into a traditional MVC frameworks would require interoperable configurations.


It's also worth pointing out that React is a relatively young framework. Developers are still waiting on a fully matured, stable version that can be used as a standard without incessant updates.  All in all though, React is a highly flexible library that can make life a lot easier for your developers.


How can I learn more?

Just knowing what React is and how it fits into the context of your development cycle is a great start when it comes to talking on equal footing with developers. However, if you're interested and what to know a lot more about React, we recommend checking out the online tutorial. It'll give you some basic exposure to the library and give you an idea of how it can be implemented.


To talk to us more about application development feel free to reach out to us here at the studio. We're always excited to get geeky about apps!


Blog Weight