It’s been a month since we launched React Studio 1.0. We are trying to maintain a steady release cycle of shipping updates every two weeks… And so far, we are on schedule (knocking wood). So, today it’s time for version 1.0.2!
In this post we’ll first look at the details of this update, then dive into some plans for the future, both on the short and long term.
Our next release will focus more on data and back-end services (hint — we’re working to support a platform that starts with “Word” and rhymes with “chess”)… And looking further at the horizon, we’ll take a look at the possibilities of React Native, as well as explore Microsoft’s brand new ReactXP: a very interesting library that smoothes over some of the differences between web ReactJS and React Native. Ready?
Let’s start with what we are shipping today! As usual, the update becomes automatically available once you restart the app. Or, if you don’t have React Studio, go download it at https://reactstudio.com (macOS 10.9+).
The noteworthy changes are as follows:
Assuming you read the change log above, you probably noticed the mention of an upcoming Presets feature. This will be a personal library where you can save your components and access them easily. The new Components pane, to the right of the Project Map, was built in preparation for presets: once we introduce presets, this is where you’ll find them listed. There will also be a search field so you can find your way around.
With presets, you’ll be able to start building a design language library of custom components. Always find yourself reusing that one “User” component that displays a user’s picture, name and status? How about that specific header style with a picture and headline positioned just right…? Save them as presets, and you’ll be building apps with your own building blocks in no time!
Another major feature we’re working on is WordPress API support. A few months ago, WordPress 4.7 introduced a standard API for WP-powered sites. These are called “REST content endpoints”, a very technical name for what is ultimately a fairly simple concept. The WordPress blog describes it thus:
Content endpoints provide machine-readable external access to your WordPress site with a clear, standards-driven interface, paving the way for new and innovative methods of interacting with sites through plugins, themes, apps, and beyond. Ready to get started with development? Check out the REST API reference.
What this means in practice is that you don’t have to write a WordPress theme/plugin to customize your WordPress site anymore! Instead, you can make a modern front-end using a tool like React Studio and access your content from WordPress through the standard API. It’s already available on every WordPress.com blog, as well as every self-hosted WordPress site that has upgraded to 4.7. (And if you’re running a WP installation, you really should update, as you hopefully know…!)
Our first iteration won’t cover the full WordPress API — simply because we want to get it out in two weeks if possible! But we’re hoping to offer a useful subset that will already let you build many kinds of interesting WordPress-powered web apps. (If you have any opinions about what WP APIs we should strive to support initially, we want to hear from you! Write to us at [email protected])
It’s a question we get asked all the time: is React Studio going to support React Native, and if so, when?
So, on one hand we have a very substantial amount of experience in native mobile apps (in the form of Native Studio), and on the other hand we have a tool specifically designed for React JS (in the form of React Studio). It doesn’t take much more than a 1+1 level of arithmetic to deduce that React Native is well within our reach…!
As often happens in technology, the question has been one of timing and resource prioritization. Is React Native “ready”? It’s certainly young technology, but the progress has been impressive. Until recently the Android implementation was lacking, but contributors have made great strides on that side.
One of the things that has deterred us from React Native is the relative complexity of the toolchain. With “plain” ReactJS, it’s just a web app, so we can easily do things like the “Preview in Browser” and “Mobile Preview” features found in React Studio. With React Native, the app needs to get built on the Xcode / Android Studio toolchains… What we’ve learned over the years with Native Studio is that these tools, even though they’re accessible by developer standards, are still very scary for ordinary people.
However, the great thing about React Native is the powerful community, and so new interesting solutions keep popping up. In particular Expo has been doing tremendous work in making React Native more fully-featured and accessible, and they’re solving some of the problems related to toolchain complexity. Expo’s platform could be a tremendous foundation for a React Native “branch” of React Studio.
Another very interesting and brand-new development is ReactXP, a library created by the Skype team at Microsoft.
(Here XP stands for “cross-platform”; there’s no relation to Windows XP. It’s a rather confusing name for a Microsoft toolkit if you ask me…! Oh well.)
This could be a great solution for React Studio too. We already have the concept of “UI framework plugins” that provide an abstraction layer between React Studio’s design environment and our design compiler which produces the actual code. It’s possible that we could simply implement ReactXP support as a UI framework plugin for React Studio, and that would open the door to React Native as well.
As you can see, there’s a lot of excitement in the React Native scene, and new developments almost every week! That’s why we’re keeping a very close eye on these new solutions. As the React Native community converges on what works the best, we’ll be sure to offer up our plan on how React Studio will be there to let you work in React Native too.
One of the great things about a tool like React Studio is that we keep track of all this exciting new stuff so you don’t necessarily have to. When we offer a new design compiler target, for example ReactXP or Expo, you will be able to just re-export your project and have it follow the best practices for that target. If you’d written your React UI in code, manually converting all that code to a new framework (or even a new React version!) can be a very tedious exercise — and also error-prone. This is a good example of the degree of encapsulation safety that React Studio’s design compiler approach can offer to your web app projects: UIs that are best represented in visual layouts are modeled in that form and maintain retargeting flexibility, while at the same time React Studio’s clean plugin and scripting interfaces allow you to extend and inject custom code as needed.
Well, that’s it for now. See you in two weeks for our next release, I hope!
We’re also hosting a webinar on 20 April. The topic will be on core tools and different ways to use components for modelling apps. You are most welcome to join — sign up here!
Create your free account to unlock your custom reading experience.