19 ms·
React Native Open Source Update
- bfrog 8y agoReact and redux are nice but I'd never use it for native again personally. You update it to fix one bug only to get 2 more in its place, after you spend a day updating and fixing your app. I've spent less time coding entire Android apps than I have hunting bugs down in rn apps.
- debt 8y agoIt really is unbelievably painful trying to work within the RN ecosystem. There's so much promise but ol well.
- shafte 8y agoGlad to see the team really embrace the nitty-gritty of keeping the open-source community healthy. React Native is a project with a lot of potential that's taken a few high-profile lumps this past year. Being an OSS maintainer can be difficult and thankless sometimes, but it's good to see teams that recommit to open source instead of withdrawing and focusing solely on internal needs.
- itwy 8y ago'thankless'! They are getting paid big bucks as Facebook employees. What are you talking about?
- lhorie 8y agoI think parent means working on open source tasks is often "thankless" in the sense that it's extra work that doesn't necessarily benefit their employer.
- kderbyma 8y agoThat makes very little sense. They have use for it because it results in new features which are contributing to their business which would otherwise be both built and QCd by employees
- lhorie 8y agoSome things align w internal priorities and get done, others are issues FB people have not run into and they ask for contributions from whoever is affected. In my experience, it's a fairly common theme in projects like jest or yarn.
- anoncake 8y agoIf their work didn't benefit Facebook (or at least if Facebook didn't believe their work benefited it), they would not get paid for it. Also: What kind of person feels bad because their work merely benefits society but not Facebook?
- lhorie 8y agoIf that entails working on OSS tasks on your personal time at the expense of spending time w/ family/friends (because you can't justify spending company time on it to your boss), I'd say a lot of people would choose to not "benefit society" / pamper demanding freeloaders / whatever you wanna call it.
- anoncake 8y agoI fully understand why people would choose not to work for free. But that was not the question. Work that does not benefit your employer tends to be work that your employer does not pay you for, but they're not the same.
- warent 8y agoWell, aside from money though have you seen some of the issues created on git repos and their responses? The software is OSS and free, yet there are countless people who use it acting like they're high profile businesses deserving white-glove treatment and they'll totally take out their anger on a maintainer.
- boxy_brown 8y agoCan you share some examples?
- throwaway_9168 8y agoTo counter your point, you might remember the React team's about face when probably their largest benefactor in terms of free goodwill, Wordpress, threatened to drop ReactJS for its ambiguous license. I would think it matters a lot to FB right now that they don't do anything remotely annoying to the community. I would be willing to bet that if Facebook adopted an attitude of "screw it, lets just stop responding to these idiots" that will make even fewer people want to work at Facebook right now, given all the bad press these days. I bet if you ask people why they are still continuing at Facebook these days, a fair number would say something like "Yeah, at least I can work on open source projects". If anyone at Facebook reading this wants to go for a dare, why don't you try dropping support for a high profile open source project like ReactJS and see if that affects the candidates entering your pipeline.
- lhorie 8y ago> why don't you try dropping support I hear that sort of happened w/ ReasonML. Apparently Jordan still maintains it (because he's a prolific OSS guy like that), but FB itself is not investing in it, and is instead doubling down on Flow. Jest is another project that largely yielded governance to its community. You gotta understand that the number one incentive for someone to interview at FB is compensation. OSS opportunities are often a minor perk, and many (most?) employees don't do high profile OSS at all.
- turbo_fart_box 8y ago
- stevepotter 8y agoCan I have more information on the "high profile lumps this past year"? Thanks!
- sjroot 8y agoThis is great! I like to think that React — or more generally, component-driven user interface design — is the future of development on all platforms, not just the web. It really seems like we have “peaked” with concepts like state management, composability, and so on. Don’t get me started on how nice hooks will be in the mobile dev ecosystem. I feel like React Native has taken a hit in the last year or so, with large companies saying they are moving away from it. I really hope that the RN community continues to flourish because I think it will inspire other platforms to move toward better developer experiences.
- amw-zero 8y agoI would hardly say we have peaked. I think there’s plenty left to discover. I think the web was vastly behind other user interface systems and just took a decent jump with Angular and React. There’s a lot left to discover though.
- jeswin 8y agoWell, UI has been component driven forever - although we faltered on Web UIs. For instance, the entire control library in late 90s Visual Basic were components, and people would build re-usable custom components and forms just like you would on React. It went even beyond that - need a Telephony connection or TCP Listener? Drag a TCP component on to your application surface and set some props visually (like port number). It really was that easy. We haven't peaked. If you leave out the closed-source nature of the Microsoft dominated tech scene, the tech from the 90s is arguably better than what we have now.
- debt 8y ago"Unfortunately, this is not something that we experience ourselves because we run React Native from master." What does this mean? Does this mean they're always on the very latest RN version? If so, wouldn't this constantly break like many layers of dependencies? I kind of like the idea though.
- tehlike 8y agoI work at google, and we run everything at head. The code is expected to be working state including all the dependencies, and there are precommit/presubmit hooks to help that.
- dymk 8y ago(Nearly) all of Facebook exists in a single repository, so all dependencies are building against other dependencies at ~master. Things do break, but extensive automated testing goes a long way.
- boowoo 8y agoNon-facebook users are in a less fortunate position though, because while the automated testing might keep their dependencies working, yours will break. So people tend to stick to certain release and avoid upgrading at all costs, trying to find a permutation of library and RN versions where everything is mostly working and rest can hacked around. All bug reports by react-native team have traditionally been treated with 'please upgrade to latest release' which makes things problematic, because while your specific issue might be solved, you'll have bunch of new ones caused by the new release and your dependencies not playing nice. Hopefully there will be some improvement with this in the future.
- ericlewis 8y agoThat is what it means. We are also doing this! It is worth it if you ship only iOS imo.
- lbacaj 8y agoWhile I like react Native, in my opinion Flutter from Google is proving to be far more superior as a cross platform app development technology. The apps are incredibly fast, feel far more native, and are actually fairly easy to build. I went down this path of trying both and ultimately ended up building my side project with flutter. My project is a cross platform App that reads articles to you using some great sounding open source AI/ML models by converting any article to audio so you can maximize that dead time on your commute. This is a little self promotional but if you want to see what’s possible with Flutter, you can check it out here: https://articulu.com https://articulu.com Edit: while I get folks may be upset with my comment and are down voting me, I’ve geniunely worked with both technologies so I’m not just making this up.
- saagarjha 8y ago> feel far more native I don't see how emulated native controls can feel more native than actual native controls.
- lbacaj 8y agoGive it a shot before you knock it, Flutter uses its own Native rendering engine written in C++. It is very fast and responsive.
- saagarjha 8y agoIt might be fast and responsive, but correct it is not. Flutter's widgets don't feel "native"; they feel like someone made a somewhat poor facsmile of the real thing because that's exactly what they are.
- hesarenu 8y agoWhen you want your UI to stand out you would anyway move from native look. Flutter is very good for that.
- 8y ago
- Octoth0rpe 8y agoReact native is pretty cool, but I do wish they would add support for desktop apps, not just ios and android. Proton native exists and seems stable-ish, but the underlying cross platform UI library (libui) still says it's only at an alpha level.
- joshuagross 8y agoHave you seen React Native Windows (https://github.com/Microsoft/react-native-windows https://github.com/Microsoft/react-native-windows) and react-native-macos (https://github.com/ptmt/react-native-macos https://github.com/ptmt/react-native-macos)? I haven't used either, but they both look very popular, 5k-10k stars on Github.
- Octoth0rpe 8y agoI was aware, but I don't recall those projects being very active. Additionally, IIRC they're both implementing their UI widgets differently rather than trying to build a common API that is desktop agnostic. There also is this project: https://github.com/status-im/react-native-desktop https://github.com/status-im/react-native-desktop which seems somewhat more active, and also supports linux (which is much more important to me than windows support).
- saagarjha 8y agoI downloaded the macOS UI Explorer, and it seems to not be using vibrancy correctly.
- Jedi72 8y agoReact is competing with web components which is a much better way of achieving what you're talking about https://www.webcomponents.org https://www.webcomponents.org
- Octoth0rpe 8y agoCorrect me if I'm wrong, but using webcomponents as an alternative to a hypothetical version of react native for desktop apps would require loading said web components into a webview, say via Electron; am I correct in that? If so, then I'd d strongly disagree that that is a better way of doing things. While I'm not an electron hater like many around here, react native's approach seems far superior.
- dirtylowprofile 8y agoWe used React Native back then when it first came out. Surprisingly the problems that exists back then, still exists today like red error screen, slow TableView scroll, upgrading RN problems. It is too late for Facebook because a lot of high profile startups are moving away from it. When you release something like this and then have the OSS deal with it and not responed to PRs for several months and years, it leaves a bad taste.
- squiggy22 8y agoIs the colour and visual display of errors really considered a significant problem that prevents technology adoption? I must be getting old.
- hysan 8y agoThe red screen error isn’t about the color. It’s in reference to the uninformative error screen that often pops up when developing with React Native. The amount of information you get from the error, stacktrace, etc. is not all the dissimilar to seeing a blue screen of death on Windows. It could have been any color and the issue would have been the same.
- solarkraft 8y agoVisual consistency is important. Users quickly become suspicious when they see visual glitches (think of your car making weird screeching noises while driving).
- vpontis 8y agoYou called out the red error screen and that's something that they explicitly called out as fixed in this version of React Native. And it looks like they are a lot faster about responding to PRs now. Tt seems to me like they are doing a good job improving React Native!
- fareesh 8y agoFlutter seems like a great substitute today, at least for Android.
- openloop 8y agoVery nice.
- burtonator 8y agoI'm really torn here between React Native and just building a PWA. I'm building a tool for managing your reading across devices. IT basically allows you to suspend and resume your reading easily and supports caching web pages offline and reading them like you would a PDF. https://getpolarized.io/ https://getpolarized.io/ Right now I'm torn between a PWA and React Native. Our PWA code is React, just not react native. Being a PWA means I don't have to deal with React Native issues and I can keep the same code across my entire app. The changes that Microsoft has made to their app store to support PWAs are really nice. Additionally Google has their new 'custom web view' that allows you to compile a PWA into an Android App. Part of the whole thing with the app store is being discoverable. You might be a PWA but people are taught to go to the app store to find new apps to install. However, with React Native I think you would have to do a bit more work but your app would look better on that platform. Has anyone had to make this decision lately? Would love to hear your feedback.
- heyoni 8y agoWhat’s the name of your app again?
- burtonator 8y agoPolar: https://getpolarized.io/ https://getpolarized.io/
- farahday 8y agoFYI I've reported that url to AdBlock
- throwaway20148 8y agoWhy?
- solarkraft 8y agoI've seen them drop the name numerous times before. I have no problem with Polar (other than it not working for me at all), but constantly seeing the link dropped makes it feel a bit Ad-y and, especially on HN, people tend to distrust /be annoyed by people doing this.