From 87b85e6c0824f727541dd95e49c78a80cd839729 Mon Sep 17 00:00:00 2001 From: tenodi Date: Wed, 21 Jun 2017 19:03:30 +0200 Subject: [PATCH 1/3] Blog post for React Native monthly meeting #1 --- blog/2017-06-21-react-native-monthly-1.md | 94 +++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 blog/2017-06-21-react-native-monthly-1.md diff --git a/blog/2017-06-21-react-native-monthly-1.md b/blog/2017-06-21-react-native-monthly-1.md new file mode 100644 index 00000000000000..87dd88ad253f98 --- /dev/null +++ b/blog/2017-06-21-react-native-monthly-1.md @@ -0,0 +1,94 @@ +--- +title: React Native monthly #1 +author: Tomislav Tenodi +authorTitle: Product Manager at Shoutem +authorURL: https://github.com/tenodi +authorImage: https://pbs.twimg.com/profile_images/877237660225609729/bKFDwfAq.jpg +authorTwitter: TomislavTenodi +category: engineering +--- + +At [Shoutem](https://shoutem.github.io/), we've been fortunate enough to work with React Native from its very beginnings. We decided we wanted to be part of the amazing community from the day one. Soon enough, we realised it's almost impossible to keep up with the pace the community was growing and improving. That's why we decided to organise the monthly meeting where all major React Native contributors could briefly present what their efforts and plans are. + +## Monthly meeting + +On `6/14/2017` we had the first session of the monthly meeting. The mission for React Native monthly is simple and straightforward: **improve the React Native community**. Presenting teams efforts eases collaboration between teams done offline from the meeting. + +## Teams + +On the first meeting, we had 8 teams joining us. Alphabetically, they are: + +- [Airbnb](https://github.com/airbnb) +- [Callstack](https://github.com/callstack-io) +- [Expo](https://github.com/expo) +- [Facebook](https://github.com/facebook) +- [GeekyAnts](https://github.com/GeekyAnts) +- [Microsoft](https://github.com/microsoft) +- [Shoutem](https://github.com/shoutem) +- [Wix](https://github.com/wix) + +We hope to have more core contributors joining the upcoming sessions! + +## Notes + +As teams' plans might be of interest to a broader audience, we'll be sharing them here, on the React Native blog. So, here they are. + +### Airbnb + +- We have plans to add some A11y APIs to `View` and the `AccessibilityInfo` native module +- We will be investigating adding some APIs to native modules on Android to allow for specifying threads for them to run on +- We have been investigating potential initialization performance improvements +- We have been investigating some more sophisticated bundling strategies to use on top of "unbundle" + +### Callstack + +- Looking into improving the release process by using [Detox](https://github.com/wix/detox) for E2E testing. PR should land soon +- Blob PR we have been working on has been merged - subsequent PRs coming up +- Increasing [Haul](https://github.com/callstack-io/haul) adoption across internal projects to see how it performs compared to Metro Bundler. We are working on better multi-threaded perf with Webpack team +- Internally, we have implemented a better infrastructure to manage open source projects, so we should be getting more stuff out in upcoming weeks +- React Native Europe is coming along, nothing interesting yet, but y'all invited! +- Stepped back from [react-navigation](https://github.com/react-community/react-navigation) for a while to investigate alternatives (esp. native navigations) + +### Expo + +- Working on making it possible to install npm modules in [Snack](https://snack.expo.io/), will be useful for libraries to add examples to documentation +- Working with Krzysztof and other people at Software Mansion on 1) JSC update on Android 2) gesture handling library +- Skevy is transitioning his focus towards [react-navigation](https://github.com/react-community/react-navigation) +- [Create React Native App](https://github.com/react-community/create-react-native-app) is in the [Getting Started guide](https://facebook.github.io/react-native/docs/getting-started.html) in the docs, want to encourage library authors to explain clearly whether their lib works with it or not, and if so how to set it up + +### Facebook + +- React Native's packager is now [Metro Bundler](https://github.com/facebook/metro-bundler), in an independent repo. The Metro Bundler team in London is excited to address the needs of the community, improve modularity for additional use-cases beyond RN, and increase responsiveness on issues and PRs. +- In the coming months, the RN team will work on refining the APIs of primitive components. Expect improvements in layout quirks, accessibility, and flow typing +- The RN team also plans on improving core modularity this year, by refactoring to fully support 3rd party platforms such as Windows and macOS. + +### GeekyAnts + +- The team is working on a UI/UX design app (codename: Builder) which directly works with `.js` files. Right now, it supports only React Native. It’s similar to Adobe XD and Sketch. +- The team is working hard so that you can load up an existing React Native app in the editor, make changes (visually, as a designer) and save the changes directly to the JS file. +- Folks are trying to bridge the gap between Designers and Developers and bring them on the same repo. +- Also, [NativeBase](https://github.com/GeekyAnts/NativeBase) reached 5,000 GitHub stars. + +### Microsoft + +- [CodePush](https://github.com/Microsoft/code-push) has now been integrated into [Mobile Center](https://mobile.azure.com/). This is the first step in providing a much more integrated experience with distribution, analytics and other services. [link](https://microsoft.github.io/code-push/articles/CodePushOnMobileCenter.html) +- [VSCode](https://github.com/Microsoft/vscode) has a bug with debugging, we are working on fixing that right now and will have a new build +- Investigating [Detox](https://github.com/wix/detox) for Integration testing, looking at JSC Context to get variables alongside crash reports + +### Shoutem + +- Making it easier to work on Shoutem apps with tools from the React Native community. You will be able to use all the React Native commands to run the apps created on [Shoutem](https://shoutem.github.io/) +- Investigating profiling tools for React Native. We had a lot of problems setting it up and we'll write some of the insights we discovered along the way +- Working on making it easier to integrate React Native with existing native apps. We'll document concept that we developed internally in the company, so we can get the feedback from the community + +### Wix + +- Working internally to adopt [Detox](https://github.com/wix/detox) to move significant parts of the Wix app to "zero manual QA". As a result, Detox is being used heavily in a production setting by dozens of developers and maturing rapidly. +- Working to add support to the packager ([Metro Bundler](https://github.com/facebook/metro-bundler)) for overriding any file extension during the build. Instead of just "ios" and "android" to any custom one like "e2e" or "detox". We plan to use this for E2E mocking. There's already a library out called [react-native-repackager](https://github.com/wix/react-native-repackager), now working on a PR. +- Investigating automation of performance tests. This is a new repo called [DetoxInstruments](https://github.com/wix/DetoxInstruments). You can take a look, it's being developed open source. +- Working with a contributor from KPN on Detox for Android and supporting real devices. +- Thinking about "Detox as a platform" to allow building other tools that need to automate the simulator/device. An example is [Storybook](https://github.com/storybooks/react-native-storybook) for React Native or Ram's idea for integration testing. + +## Next session + +The next session is scheduled for `7/12/2017` (the meeting is actually held every 4 weeks). As we just started with this meeting, we'd like to know how do these notes benefit the React Native community. Feel free to ping me [on Twitter](https://twitter.com/TomislavTenodi) if you have any suggestion what should we cover in the following sessions or how should we improve the output of the meeting. \ No newline at end of file From c87b8da6b5891feac14f6449a3cbc2c72d623ccb Mon Sep 17 00:00:00 2001 From: Tomislav Tenodi Date: Wed, 21 Jun 2017 19:17:19 +0200 Subject: [PATCH 2/3] Fix minor typo --- blog/2017-06-21-react-native-monthly-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blog/2017-06-21-react-native-monthly-1.md b/blog/2017-06-21-react-native-monthly-1.md index 87dd88ad253f98..e267f3fafc9278 100644 --- a/blog/2017-06-21-react-native-monthly-1.md +++ b/blog/2017-06-21-react-native-monthly-1.md @@ -12,7 +12,7 @@ At [Shoutem](https://shoutem.github.io/), we've been fortunate enough to work wi ## Monthly meeting -On `6/14/2017` we had the first session of the monthly meeting. The mission for React Native monthly is simple and straightforward: **improve the React Native community**. Presenting teams efforts eases collaboration between teams done offline from the meeting. +On `6/14/2017` we had the first session of the monthly meeting. The mission for React Native monthly is simple and straightforward: **improve the React Native community**. Presenting team's efforts eases collaboration between teams done offline from the meeting. ## Teams @@ -91,4 +91,4 @@ As teams' plans might be of interest to a broader audience, we'll be sharing the ## Next session -The next session is scheduled for `7/12/2017` (the meeting is actually held every 4 weeks). As we just started with this meeting, we'd like to know how do these notes benefit the React Native community. Feel free to ping me [on Twitter](https://twitter.com/TomislavTenodi) if you have any suggestion what should we cover in the following sessions or how should we improve the output of the meeting. \ No newline at end of file +The next session is scheduled for `7/12/2017` (the meeting is actually held every 4 weeks). As we just started with this meeting, we'd like to know how do these notes benefit the React Native community. Feel free to ping me [on Twitter](https://twitter.com/TomislavTenodi) if you have any suggestion what should we cover in the following sessions or how should we improve the output of the meeting. From 08ed7f26e1b636d030a6d08f47cc2e6bb2822e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ramos?= Date: Wed, 21 Jun 2017 11:34:48 -0700 Subject: [PATCH 3/3] Edit React Native Monthly Blog post Mostly edits to use the third person in the meeting notes consistently. --- blog/2017-06-21-react-native-monthly-1.md | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/blog/2017-06-21-react-native-monthly-1.md b/blog/2017-06-21-react-native-monthly-1.md index e267f3fafc9278..74f2158f722f2f 100644 --- a/blog/2017-06-21-react-native-monthly-1.md +++ b/blog/2017-06-21-react-native-monthly-1.md @@ -1,5 +1,5 @@ --- -title: React Native monthly #1 +title: React Native Monthly #1 author: Tomislav Tenodi authorTitle: Product Manager at Shoutem authorURL: https://github.com/tenodi @@ -8,15 +8,15 @@ authorTwitter: TomislavTenodi category: engineering --- -At [Shoutem](https://shoutem.github.io/), we've been fortunate enough to work with React Native from its very beginnings. We decided we wanted to be part of the amazing community from the day one. Soon enough, we realised it's almost impossible to keep up with the pace the community was growing and improving. That's why we decided to organise the monthly meeting where all major React Native contributors could briefly present what their efforts and plans are. +At [Shoutem](https://shoutem.github.io/), we've been fortunate enough to work with React Native from its very beginnings. We decided we wanted to be part of the amazing community from day one. Soon enough, we realized it's almost impossible to keep up with the pace the community was growing and improving. That's why we decided to organize a monthly meeting where all major React Native contributors can briefly present what their efforts and plans are. -## Monthly meeting +## Monthly meetings -On `6/14/2017` we had the first session of the monthly meeting. The mission for React Native monthly is simple and straightforward: **improve the React Native community**. Presenting team's efforts eases collaboration between teams done offline from the meeting. +We had our first session of the monthly meeting on June 14, 2017. The mission for React Native Monthly is simple and straightforward: **improve the React Native community**. Presenting teams' efforts eases collaboration between teams done offline. ## Teams -On the first meeting, we had 8 teams joining us. Alphabetically, they are: +On the first meeting, we had 8 teams join us: - [Airbnb](https://github.com/airbnb) - [Callstack](https://github.com/callstack-io) @@ -27,68 +27,68 @@ On the first meeting, we had 8 teams joining us. Alphabetically, they are: - [Shoutem](https://github.com/shoutem) - [Wix](https://github.com/wix) -We hope to have more core contributors joining the upcoming sessions! +We hope to have more core contributors join the upcoming sessions! ## Notes -As teams' plans might be of interest to a broader audience, we'll be sharing them here, on the React Native blog. So, here they are. +As teams' plans might be of interest to a broader audience, we'll be sharing them here, on the React Native blog. So, here they are: ### Airbnb -- We have plans to add some A11y APIs to `View` and the `AccessibilityInfo` native module -- We will be investigating adding some APIs to native modules on Android to allow for specifying threads for them to run on -- We have been investigating potential initialization performance improvements -- We have been investigating some more sophisticated bundling strategies to use on top of "unbundle" +- Plans to add some A11y (accessibility) APIs to `View` and the `AccessibilityInfo` native module. +- Will be investigating adding some APIs to native modules on Android to allow for specifying threads for them to run on. +- Have been investigating potential initialization performance improvements. +- Have been investigating some more sophisticated bundling strategies to use on top of "unbundle". ### Callstack -- Looking into improving the release process by using [Detox](https://github.com/wix/detox) for E2E testing. PR should land soon -- Blob PR we have been working on has been merged - subsequent PRs coming up -- Increasing [Haul](https://github.com/callstack-io/haul) adoption across internal projects to see how it performs compared to Metro Bundler. We are working on better multi-threaded perf with Webpack team -- Internally, we have implemented a better infrastructure to manage open source projects, so we should be getting more stuff out in upcoming weeks -- React Native Europe is coming along, nothing interesting yet, but y'all invited! -- Stepped back from [react-navigation](https://github.com/react-community/react-navigation) for a while to investigate alternatives (esp. native navigations) +- Looking into improving the release process by using [Detox](https://github.com/wix/detox) for E2E testing. Pull request should land soon. +- Blob pull request they have been working on has been merged, subsequent pull requests coming up. +- Increasing [Haul](https://github.com/callstack-io/haul) adoption across internal projects to see how it performs compared to [Metro Bundler](http://github.com/facebook/metro-bundler). Working on better multi-threaded performance with the Webpack team. +- Internally, they have implemented a better infrastructure to manage open source projects. Plans to be getting more stuff out in upcoming weeks. +- The React Native Europe conference is coming along, nothing interesting yet, but y'all invited! +- Stepped back from [react-navigation](https://github.com/react-community/react-navigation) for a while to investigate alternatives (especially native navigations). ### Expo -- Working on making it possible to install npm modules in [Snack](https://snack.expo.io/), will be useful for libraries to add examples to documentation -- Working with Krzysztof and other people at Software Mansion on 1) JSC update on Android 2) gesture handling library -- Skevy is transitioning his focus towards [react-navigation](https://github.com/react-community/react-navigation) -- [Create React Native App](https://github.com/react-community/create-react-native-app) is in the [Getting Started guide](https://facebook.github.io/react-native/docs/getting-started.html) in the docs, want to encourage library authors to explain clearly whether their lib works with it or not, and if so how to set it up +- Working on making it possible to install npm modules in [Snack](https://snack.expo.io/), will be useful for libraries to add examples to documentation. +- Working with [Krzysztof](https://github.com/kmagiera) and other people at [Software Mansion](https://github.com/softwaremansion) on a JSC update on Android and a gesture handling library. +- [Adam Miskiewicz](https://github.com/skevy) is transitioning his focus towards [react-navigation](https://github.com/react-community/react-navigation). +- [Create React Native App](https://github.com/react-community/create-react-native-app) is in the [Getting Started guide](https://facebook.github.io/react-native/docs/getting-started.html) in the docs. Expo wants to encourage library authors to explain clearly whether their lib works with CRNA or not, and if so, explain how to set it up. ### Facebook -- React Native's packager is now [Metro Bundler](https://github.com/facebook/metro-bundler), in an independent repo. The Metro Bundler team in London is excited to address the needs of the community, improve modularity for additional use-cases beyond RN, and increase responsiveness on issues and PRs. -- In the coming months, the RN team will work on refining the APIs of primitive components. Expect improvements in layout quirks, accessibility, and flow typing -- The RN team also plans on improving core modularity this year, by refactoring to fully support 3rd party platforms such as Windows and macOS. +- React Native's packager is now [Metro Bundler](https://github.com/facebook/metro-bundler), in an independent repo. The Metro Bundler team in London is excited to address the needs of the community, improve modularity for additional use-cases beyond React Native, and increase responsiveness on issues and PRs. +- In the coming months, the React Native team will work on refining the APIs of primitive components. Expect improvements in layout quirks, accessibility, and flow typing. +- The React Native team also plans on improving core modularity this year, by refactoring to fully support 3rd party platforms such as Windows and macOS. ### GeekyAnts - The team is working on a UI/UX design app (codename: Builder) which directly works with `.js` files. Right now, it supports only React Native. It’s similar to Adobe XD and Sketch. - The team is working hard so that you can load up an existing React Native app in the editor, make changes (visually, as a designer) and save the changes directly to the JS file. - Folks are trying to bridge the gap between Designers and Developers and bring them on the same repo. -- Also, [NativeBase](https://github.com/GeekyAnts/NativeBase) reached 5,000 GitHub stars. +- Also, [NativeBase](https://github.com/GeekyAnts/NativeBase) recently reached 5,000 GitHub stars. ### Microsoft -- [CodePush](https://github.com/Microsoft/code-push) has now been integrated into [Mobile Center](https://mobile.azure.com/). This is the first step in providing a much more integrated experience with distribution, analytics and other services. [link](https://microsoft.github.io/code-push/articles/CodePushOnMobileCenter.html) -- [VSCode](https://github.com/Microsoft/vscode) has a bug with debugging, we are working on fixing that right now and will have a new build -- Investigating [Detox](https://github.com/wix/detox) for Integration testing, looking at JSC Context to get variables alongside crash reports +- [CodePush](https://github.com/Microsoft/code-push) has now been integrated into [Mobile Center](https://mobile.azure.com/). This is the first step in providing a much more integrated experience with distribution, analytics and other services. See their announcement [here](https://microsoft.github.io/code-push/articles/CodePushOnMobileCenter.html). +- [VSCode](https://github.com/Microsoft/vscode) has a bug with debugging, they are working on fixing that right now and will have a new build. +- Investigating [Detox](https://github.com/wix/detox) for Integration testing, looking at JSC Context to get variables alongside crash reports. ### Shoutem -- Making it easier to work on Shoutem apps with tools from the React Native community. You will be able to use all the React Native commands to run the apps created on [Shoutem](https://shoutem.github.io/) -- Investigating profiling tools for React Native. We had a lot of problems setting it up and we'll write some of the insights we discovered along the way -- Working on making it easier to integrate React Native with existing native apps. We'll document concept that we developed internally in the company, so we can get the feedback from the community +- Making it easier to work on Shoutem apps with tools from the React Native community. You will be able to use all the React Native commands to run the apps created on [Shoutem](https://shoutem.github.io/). +- Investigating profiling tools for React Native. They had a lot of problems setting it up and they will write some of the insights they discovered along the way. +- Shoutem is working on making it easier to integrate React Native with existing native apps. They will document the concept that they developed internally in the company, in order to get the feedback from the community. ### Wix - Working internally to adopt [Detox](https://github.com/wix/detox) to move significant parts of the Wix app to "zero manual QA". As a result, Detox is being used heavily in a production setting by dozens of developers and maturing rapidly. -- Working to add support to the packager ([Metro Bundler](https://github.com/facebook/metro-bundler)) for overriding any file extension during the build. Instead of just "ios" and "android" to any custom one like "e2e" or "detox". We plan to use this for E2E mocking. There's already a library out called [react-native-repackager](https://github.com/wix/react-native-repackager), now working on a PR. +- Working to add support to the [Metro Bundler](https://github.com/facebook/metro-bundler) for overriding any file extension during the build. Instead of just "ios" and "android", it would support any custom extension like "e2e" or "detox". Plans to use this for E2E mocking. There's already a library out called [react-native-repackager](https://github.com/wix/react-native-repackager), now working on a PR. - Investigating automation of performance tests. This is a new repo called [DetoxInstruments](https://github.com/wix/DetoxInstruments). You can take a look, it's being developed open source. - Working with a contributor from KPN on Detox for Android and supporting real devices. - Thinking about "Detox as a platform" to allow building other tools that need to automate the simulator/device. An example is [Storybook](https://github.com/storybooks/react-native-storybook) for React Native or Ram's idea for integration testing. ## Next session -The next session is scheduled for `7/12/2017` (the meeting is actually held every 4 weeks). As we just started with this meeting, we'd like to know how do these notes benefit the React Native community. Feel free to ping me [on Twitter](https://twitter.com/TomislavTenodi) if you have any suggestion what should we cover in the following sessions or how should we improve the output of the meeting. +Meetings will be held every four weeks. The next session is scheduled for July 12, 2017. As we just started with this meeting, we'd like to know how do these notes benefit the React Native community. Feel free to ping me [on Twitter](https://twitter.com/TomislavTenodi) if you have any suggestion on what we should cover in the following sessions, or how we should improve the output of the meeting.