New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Drop Electron #782
Comments
ContextI'm a multi-platform developer, full stack, working on everything from backend to frontend, desktop to mobile. I'm an active React Native dev, and use Reactotron most days. I'm not a contributor on the project. OpinionI believe integrating reactotron into the RN development lifecycle, in a fashion similar to Storybook would be incredibly useful.
I would be a big fan of this change. I'm also assuming this would reduce memory usage dramatically? |
ContextI'm an IR employee and I've seen Reactotron since the beginning. My gut reaction was "OH NO!" instead of applause at the top of the suggestion. But by the bottom of it, I was convinced! OpinionIt doesn't weaken the brand, it unleashes it. ALSO, if later you find you need some native code, that can be a plugin! The plugin system gives you the ability to adapt, so make the core simple.
During that rewrite, I'd love to include engineers who can (and are expected) to help contribute regularly. This project + more people will be a wildfire, and hopefully ensure that the project visionaries (Steve and Rich) can put energy towards their awesome creativity, rather than rote maintnence. So I'd love to see a support increase during this changeover! |
ContextI'm a long time mobile developer but a react-native newbie, working on the frontend. I usually have Reactotron open at all times when I'm developing. I'm not a contributor on the project. OpinionI have a lot of tabs open in my browser when I'm working and navigating between them is not easy. I might be trying to solve a problem and opening one stackoverflow tab after another, which means the Reactotron tab would slowly get pushed away from a state where you can navigate to the tab easily. If Electron is removed, I would try to wrap Reactotron into an app so that I can |
I think this will bring a lot of freedom to |
PR added to start the process of implementing this RFC. There is still a lot to do but this is trying out a way we could go about this. |
As both of you called out that you are not a contributor of I am deeply interested in knowing so we can work to break down any barriers to open the door to more contributors hopping on the |
I'm going to break up my reply into three here.
This one is a hard one for me to comment on, because whilst I've used Reactotron since the start of the year, I've only really paid attention to it from a OS perspective since our conversations at Chain React @rmevans9. I haven't explored its internals either, so I can't really offer a fair technical comment here. In addition, I am not a pro-active contributor to OS as a whole - though I'm trying to motivate a change here in both myself and the company I work for at present.
For me personally, yes, purely because I've never touched electron. I have used node (and in particular express + restify + socket.io) extensively for years. Removing Electron is one less black box for me to worry about, and learn how to debug. All that said, this is a very personal comment based on my own skill set.
IMO, publicity would help you a great deal. I think Reactotron's value comes from dealing with 2 unique problems in React Native development:
I think if you could find a way to more publically make the community aware of Reactotron (like the talk you did at Chain React), that would lead to more contributors. I hope any of this ramble actually helps! |
Just taking this a step further, I'd like to register my interest in helping with this change, should you decide to proceed with it. |
Alrighty... this is a go. We're on the Godspeed! |
@rmevans9 I can't say I'm an avid oss contributor, so me not contributing is somewhat related to me instead of reactotron. But in some repos some easy issues are marked as "starter task" or something like that to be less intimidating to newcomers, and there usually is a contribution guide in the repo so that people can read it and start contributing right away. It might explain general architecture or different modules or new ideas for contribution. You've probably seen it in other repos on github. My other point would be reiterating that publicity will help a lot. I just started with js and react native around a month ago, and since I was a newcomer I had a lot to learn about, so I thought "I better watch these conf videos" and that's why I watched all the conference videos of this year. Then I learned about reactotron in one of the videos, but the other 2 js devs didn't know about it. They were mainly react developers and not react native, so they already had their toolset to debug a react app. When I sent them the video they said "well this is react native though..." and didn't even care to watch. I was an iOS Dev before starting with react-native and they are frontend developers, and I don't know if the case with the other 2 devs in my team is an isolated one or a representative one, but they feel react-native is very mobile-like and different than web, whereas I feel it's very different than mobile and very web-like. That might be creating a disconnect, or that might be just my team. :) One thing that would help would be more content, not necessarily created by you, about using reactotron. I followed quite a few tutorials and none of them mentioned reactotron while most mentioned |
Thanks for the thoughts @akaralar. All are very valid points and I will give writing that book some thought! (I am being serious here, no sarcasm) |
@rmevans9 I can hear myself talking to newbies saying 'Well we didn't have that book when we were learning... you are a lucky bunch.` One other thing I thought of would be to somehow reach popular twitch/youtube broadcasters who do live coding and get them to use it or talk about it. You might ask them what it would take them to use Reactotron and implement those in exchange for airtime. Again popular podcasts might get the word out to people that this thing exists. Also with time, I believe the project will mature more and maybe gain new features to be the one stop shop for debugging react/react-native apps. |
Interesting discussion here. We recently did the same with majestic. Also we are experimenting with using chrome launcher to launch majestic as an app by providing |
You might want to try hellonext (https://hellonext.co) instead of Canny.io for feedback. Free for open source projects. No limits. |
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Overview
I'd like to drop Electron and replace it with a local
Node.js
server.hold for applause
Why?
yarn run reactotron
!What do we lose?
Feature-wise? Nothing.
A node-js server (like express, koa, etc) can still read/write files and clipboard. Browsers can drag & drop file uploads for image overlays.
For people who like to run an app instead of a local webpage, they can still use https://github.com/jiahaog/nativefier to wrap it.
How much work is this?
A new
reactotron-server
package would have to be created and configured to dish up a SPA.We'd also have to add endpoints for each write operation (sending state, commands, etc). These would be merely pass thru to existing code.
The image overlay would be the only one I don't know how that works. I've never done that before. I suspect there's great React components that will do this just fine.
Keyboard shortcuts would have to be changed from using the
command
/win
key.Current State of Electron App
The current Reactotron works great, but inside it's ugly. It's about 2 years old and i literally learned react-js. I'd love to modernize this.
We don't have to do this step now, but it might be worth considering since we're in the area anyway.
Summary
This feels like the right step for Reactotron 3.
What do y'all think? Please talk me out of this 🙏 . Or push me 😈 .
The text was updated successfully, but these errors were encountered: