Issue #20

Logo for React Native Newsletter

Top News

Reactive 2015 speakers announced!
Reactive 2015 speakers announced!

"The lineup of https://reactive2015.com/ is crazy good. It has the potential to be the best conference about React to date!" - @Vjeux

Lots of folks deep in the React Native community will be speaking - myself, @mkonicek, @jsierles, @grabbou, and maybe... you? Haha no probably not because RFP is closed, but you can still attend. And you should.

So maybe join us in Bratislava, Slovakia Nov 2-4. Give me a high-five at the conference and let me know that you read my newsletter, and I'll buy you a beer, or a juice if you don't drink beer, or a tea if you don't drink juice, or a coffee if you don't drink tea, but if you don't drink any of those then you're on your own, I tried.

React.parts now shows Android and iOS icons
React.parts now shows Android and iOS icons

"I ended up adding a tiny Apple icon when the package has Objective-C code, and an Android if there's Java, since people tend to not add the keywords on their package.json"

This is great! Shoutout to Made by Form folks in Coimbra, Portugal who make this indispensable community tool happen.

Why our Startup Chose React Native and What we Learned (Blog post)
Why our Startup Chose React Native and What we Learned (Blog post)

This team wasn't satisfied with the look/feel that they were able to achieve using webview-based hybrid approaches and went all in with React Native, and they've been happy with the decision so far!

"So, how has it turned out? On balance we are extremely pleased with our decision. The app is fast, fluid and native feeling. Working with the React paradigm was also (not unexpectedly) a pleasure."

React Native Example App: Navigation (Blog post)
React Native Example App: Navigation (Blog post)

In this blog post, @bleonard "Chief Architect / Technical Cofounder of TaskRabbit" writes about his experiment with bringing the web-style URL-based navigation approach to React Native's Navigator. Well worth a read!

Click through to read the post (recommended), or jump straight to the code on Github.

iSimar/HackerNews-React-Native
iSimar/HackerNews-React-Native

iSimar has betrayed his own screen name and ported his Hacker News app (which you might remember, if you go way back in React Native times, ie: 6 months ago) to Android. Also using React Native, of course. Because it's on Android now. You know this. Check the app out maybe?

Reacting to React Native for native WebRTC apps (Article)
Reacting to React Native for native WebRTC apps (Article)

"Alexey Aylarov provides a walkthrough on using React Native with a native WebRTC iOS application" - well worth a read, thanks Alexey!

"React May Have Just Ended The Native Vs. Web Debate"
"React May Have Just Ended The Native Vs. Web Debate"

Matt Asay, @mjasay, currently "VP of Mobile at Adobe (@adobe) for @AdobeMktgCloud" and "previously served at MongoDB" was inspired by @marcshilling's An iOS Developer on React Native post and wrote this piece.

"... if Shilling's experience is emblematic of what other developers can achieve, the meaning of "native app development" may completely change over the next few years."

Great to hear some interest from mobile folks at Adobe, which astute readers may remember is the owner of PhoneGap. Regarding your former affiliation @mjasay, would you say that React Native is webscale yet? :)

"Build Apps with React Native" course on Udemy
"Build Apps with React Native" course on Udemy

Snagged this link off of Twitter that includes a coupon code to get this course for $19 instead of "full" $29. I have no idea whether it is actually good or not, but if someone you know wants to get into React Native and they're not sure where to start perhaps they can give it a try. As per usual, I have no financial incentive to promote this -- the extent of my relationship with Udemy is that I think I walked past their office once in San Francisco, but I can't remember. Nice to see more educational materials getting out there!

race604/ZhiHuDaily-React-Native
race604/ZhiHuDaily-React-Native

"A Zhihu Daily App client implemented using React Native for Android."

This app has taken off on Github in the past week - it already has 900+ stars. I'm not sure I totally understand what Zhihu Daily is, but people seem to like it.

Highlights from facebook/react-native

Convert remaining viewmanager to @ReactProp.
Convert remaining viewmanager to @ReactProp.

This change by @kmagiera is a small perf optimization and also brings the API for view managers more in line with iOS - the updateView function is gone now, and instead there are different functions for each prop setter.

Add 3DTouch props to touch events by @mattapperson
Add 3DTouch props to touch events by @mattapperson

This pull request adds two new properties to touch events: force and maximumPossibleForce to allow you to respond to varying degrees of force with 3D touch on iOS9.

See Apple docs on "Adopting 3D Touch" for more information about 3D touch in your apps.

"Unusuably slow transitions on Android" can occur with dev mode enabled
"Unusuably slow transitions on Android" can occur with dev mode enabled

Some takeaways:

Dev mode can really impact performance, especially on lower end devices. Before stressing too much about it, try turning dev mode off to see if you're still seeing performance issues.

Use InteractionManager to defer rendering during Navigator transitions!

[RFC] Add option to prevent renderRow from being called if interaction is in progress
[RFC] Add option to prevent renderRow from being called if interaction is in progress

"This allows me to render some initial X rows in a new scene, then trigger a fading animation to make it visible, during which no new rows will be rendered. Maybe useful in other cases too, eg: rows are being rendered while you start dragging something."

What do you think about this suggestion? Let me know!

Add dropped frame count to FPS overlay for Android
Add dropped frame count to FPS overlay for Android

Another useful addition to your debugging toolkit, this time from @mkonicek👌

Highlights from the community

jordanbyron/react-native-quick-actions
jordanbyron/react-native-quick-actions

@jordanbyron spent his Friday evening figuring out how to make his life easier by adding support for iOS 9 3D touch quick actions to his House Control app. Then he went ahead and put his learnings into an open source library for you use on your own projects. So check it out, this is one of my favourite new features of the 6S!

bgryszko/react-native-example
bgryszko/react-native-example

"ReactNative iOS app that fetches your current location and display Intstagram photos that were made near to you"

joshswan/react-native-globalize
joshswan/react-native-globalize

"Globalization helper and components for React Native"

jbrodriguez/react-native-android-sqlite
jbrodriguez/react-native-android-sqlite

A SQLite wrapper for React Native Android. Keep those Android native modules coming!

PrestoDoctor/react-native-browser
PrestoDoctor/react-native-browser
Browser.open('http://reactnative.cc/', {
  showUrlWhileLoading: true,
  navigationButtonsHidden: false,
  showActionButton: true,
  showDoneButton: true,
  doneButtonTitle: 'Done',
  showPageTitles: true,
  disableContextualPopupMenu: false,
  hideWebViewBoundaries: false
});
ivanph/react-native-webintent
ivanph/react-native-webintent

Web intents (LinkingIOS on iOS) are not part of core yet (but they will be) -- in the meantime, @ivanph has put together this module that will let you use them now, check it out if you need that!

lwansbrough/react-native-camera
lwansbrough/react-native-camera

You've probably seen this before, but it now supports Android! Also check out this article about using the camera in your React Native app if you'd like to learn more.

olivierlesnicki/react-native-switcher
olivierlesnicki/react-native-switcher

"A dead simple zoomable-swiper made popular by the Kardashians' apps." -- you better put this in your app if you want to keep up with the Kardashians....

walmartreact/react-native-platform-visible
walmartreact/react-native-platform-visible
<PlatformVisible.iOS>
  <Text>See me on iOS</Text>
</PlatformVisible.iOS>
<PlatformVisible.Android>
  <Text>See me on Android</Text>
</PlatformVisible.Android>
aksonov/react-native-xmpp
aksonov/react-native-xmpp

"Simple interface for native XMPP communication (only iOS supported at this moment) using iOS XMPPFramework"

That's it for now! Ping me on Twitter @notbrent if you have anything that you would like me to share next week.

If you're reading this on the web, you can subscribe to get this delivered weekly to your email here!

Goodbits

Collect and curate content easily for brilliant newsletters. Try Goodbits for free!