New Community Projects for React Native: Deco IDE and Pepperoni Boilerplate

When Facebook open sourced React Native -- its technology for building mobile apps with JavaScript -- it invited community developers to help evolve the nascent product and they've followed through, just this week introducing an IDE and a boilerplate project.

Deco Software Inc. introduced its namesake Deco IDE, described on its GitHub site as "the all-in-one solution for building React Native applications."

"You can get started right away on your React Native project by installing Deco and creating a new project -- it's fast and there's no manual setup needed," the site says. "File scaffolding handles your boilerplate. Ready-made components drop right into your code. Properties are graphically editable through the property inspector. It's an entirely new way to write, tweak and re-use code."

If you're using a Mac, that is.

Following Facebook's iOS-first approach, the tool is only available for development on Macs. Windows support -- like just about everything else to do with React Native -- is on the back burner -- along with Linux support. That led to comments like "Mac only :(" on Hacker News, where one developer said he's already at work trying to get Deco to work on Linux.

Deco co-founder Devin Abbot was apparently monitoring Hacker News comments and noted that Deco, being based on Electron, should also build on Windows and Linux. "If you're interested, give it a shot and let us know how it goes :) None of us are Windows experts, so happy to take any pull requests for Windows support. (Or even Linux)," commenter "dabbot" said. He further noted that Linux contributions would also be welcome, but more beta invitees expressed interest in using Deco on Windows, so that has priority.

The Deco IDE
[Click on image for larger view.] The Deco IDE (source: Deco Software)

In the meantime, IDEs such as the free Visual Studio Code (though technically described as a code editor) support React Native development via an extension, doing a good job of consolidating a lot of the moving parts needed to get a React Native project running. There's also Nuclide, which supports Mac and Linux development, but IDEs (or code editors) that smoothly handle React Native development on all three platforms seem to be few and far between.

Anyway, if you're a Mac person (Abbot commented that his Mac "is so very nice and shiny"), Deco might be worth checking out. Its site says it provides easy search for prebuilt components to use in a new project and lets developers instantly see the effects of their coding changes. It also features new file scaffolds for getting projects started, because "writing boilerplate sucks."

The devs at Futurice would agree with that last statement, as they have just released Pepperoni, "A free and open-source blueprint to kickstart your mobile product."

Its literature also describes it as a framework, and there was some confusion in Hacker News comments about what Pepperoni actually is -- a framework, project generator, library or what.

"Pepperoni is more of a starter kit to kickstart your React Native development as fast as possible," one commenter said. "You get the Redux architecture and other solid pieces but there's no internal framework API."

Pepperoni and Its Parts
[Click on image for larger view.] Pepperoni and Its Parts (source: Futurice)

"It's definitely more of a project boilerplate," said another commenter with the handle jevakallio, apparently one of Pepperoni's creators. "We have big ideas for the future, but starting out small."

The site for commercial Pepperoni backer Futurice, a Finnish company, says, "Are you launching a new mobile product? Pepperoni provides you with the basic building blocks to start developing faster. Don't reinvent the wheel so you can go to market faster and focus on the distinguishing features that set you apart. How many different ways can you develop login and signup anyway? Imagine how much time and money you'd save when it's all ready for you."

Pepperoni provides login, authentication and user management functionality with Auth0, messaging with SendBird and app updates with CodePush.

"This Starter Kit reflects the best practices of React Native development we have discovered while building real-world applications for our customers," says the project's GitHub site. "It is opinionated about tooling, patterns and development practices. It might not be a one-size-fits-all solution for everyone, but feel free to customize it for your needs, or just take inspiration from it."

Like Deco, the product was pushed out with work yet to be done. "Coming soon" is a mobile back-end using Node.js and PosgreSQL. Its GitHub site also lists a "sample app to show how to wire it all together" and a "clean and testable service layer for interacting with RESTful APIs" as works in progress.

It also notes the project was inspired by Snowflake, another blueprint project developed by Barton Hammond. "It shares some features and design principles for Pepperoni, but it wasn't the right fit for our needs," the Pepperoni GitHub site says of Snowflake. "At this time Snowflake is more mature, so if you like Pepperoni but didn't agree with something we are doing, you should check it out to see if it's a good fit for your app."

You might also want to check out some other React Native-related open source projects we reported on earlier. We also listed several areas in which the React Native team is looking for further dev help, such as Windows/Android, converting from Objective-C to Swift, porting to game engines and more.

As evidenced by this week's releases of Deco and Pepperoni, the React Native community is hard at work addressing these and other needs to fill out the technology ecosystem.

About the Author

David Ramel is an editor and writer for Converge360.