Facebook captured the hearts of the open-source community this week by announcing the release of the iOS version of React Native on GitHub during its F8 developer conference.
React, a JavaScript framework for native development environments, allows developers to build mobile UIs without browser or WebView involvement. React Native for Android will be coming soon, according to the F8 keynote from Mike Schroepfer, Facebook’s CTO. React Native is focused on cross-platform developer efficiency, and has been used in-house by Facebook to build multiple applications.
Facebook software developer Tom Occhino talked more about React Native in a blog post, explaining that developers still have to write two sets of code—Web and mobile—for React.js and React Native. But developers will now be able to apply the same principles to iOS and soon Android development.
“React forces us to break our applications down into discrete components, each representing a single view,” Occhino wrote. “These components make it easier to iterate on our products, since we don’t need to keep the entire system in our head in order to make changes to one part of it. More important, though, React wraps the DOM’s mutative, imperative API with a declarative one, which raises the level of abstraction and simplifies the programming model.”
React Native combines aspects of the React.js Web framework with the Rebound Java library for dynamic spring animations and the Flux application architecture within the open-source iOS framework. React Native offers application features and capabilities such as integrating native iOS components, asynchronous execution, touch handling, polyfills and extensibility.
More details are available on the React Native website.
Top 5 projects trending on GitHub this week
#1: react-primer-draft: A primer for building single-page applications with React, timed quite nicely with Facebook’s React Native release.
#2: Primer: GitHub’s inner guts. This CSS toolkit powers GitHub’s front-end design. It’s purposefully limited to common components to provide developers flexibility, built with SCSS and available via Bower.
#3: Vim: An almost compatible version of the Unix editor Vi, useful for editing programs and other plain text files.
All commands are given with normal keyboard characters.
#4 Bazel: Google’s recently open-sourced build automation tool, covered in more detail here.
#5: Augmented Traffic Control (ATC): Another Facebook joint, ATC is a tool to simulate network conditions, allowing developers to test their applications across various speeds and device conditions.
Bonus Project: DICSS: This directly injected CSS project is not only useful, it’s hard not to enjoy. Read through the innuendo-filled description and have a ball.