airbnb / native-navigation

Native navigation library for React Native applications
http://airbnb.io/native-navigation/
MIT License
3.13k stars 176 forks source link

Development Stalled? #114

Open smkhalsa opened 7 years ago

smkhalsa commented 7 years ago

@lelandrichardson has AirBnb continued working on this privately? Or has development stalled? It looks like the last commit was made a month ago.

benkraus commented 7 years ago

Perhaps if we got someone from the community on the maintainers list to be able to approve/merge PRs, that would help? We at Instructure ended up forking this library initially after moving away from Wix's native navigation approach, and found there to be a significant amount of issues that we ended up just writing our own navigation library (which we plan to clean up and open source come July, probably).

In doing so, I've found a number of ways to clean/fix some of the hairy parts of this, and would love to contribute back in the meantime, if contributions were able to be merged and progress pushed forward.

braco commented 7 years ago

@benkraus: why did you dump wix out of curiosity? I'm just starting to rewrite with wix because this looks like abandonware, whereas wix is already working on a 2.0 rewrite.

benkraus commented 7 years ago

We needed support on the iOS side for iPad specific things: UISplitViewController was the big one. Popovers too, but they are easier to submit PRs for. Wix was making a lot of incorrect assumptions in the code as to every view being wrapped in a UINavigationController - if you try to do that to a UISplitViewController, UIKit will throw an exception.

When trying to fix their lib to not make that assumption, it just became nasty. We also weren't a fan of their API. Declarative syntax ftw!

benkraus commented 7 years ago

Also, Wix's 2.0 rewrite still is making those same incorrect assumptions. :(

braco commented 7 years ago

Agree their API stinks. Have you brought the UINavigationController issue up with them?

benkraus commented 7 years ago

I don't think so - I submitted a ticket for UISplitViewController support, volunteering to help out, and was politely told nothing would probably be able to get merged until v2 on that front. We didn't want to really maintain our own fork that had diverged significantly - small fixes fine (easy to fix conflicts), but big ones are not fun.

Yeah, I should be a good citizen and let them know they will have an issue down the road with this. Thanks for the reminder :)

braco commented 7 years ago

@benkraus - looks like someone here asked the airbnb developers on Twitter

priorities have shifted recently, and we will pick work back up on it as soon as it makes sense for us

lelandrichardson commented 7 years ago

Hey everyone, thanks for starting this thread and for the interest in native-navigation.

I hope no one here is too frustrated, though I would not blame you if you are! I would like to respond in a bit more detail than in the above referenced twitter thread, and hopefully provide ya'll with some context and (maybe) some hope :)

First, I would like to apologize personally for the lack of responsiveness. For some reason GitHub has not been alerting me via email on issues, or they are somehow getting filtered. This makes it hard to sometimes spot these issues. Regardless, me not seeing this issue sooner is a testament to the lack of attention it's actually been getting. This project is not dead, but has just been temporarily de-prioritized relative to some other RN projects at Airbnb that we only have so many people to tend to.

For some context, "RN Infra" at Airbnb is essentially just 2 people, and we have a lot of projects currently on the table, and have to ultimately decide priority based on what makes the most sense for Airbnb. We believe there is a lot of long term value in having our navigation solution open sourced as it is one of the most complex and critical pieces of our infra, and something that we think many others could help contribute to and make more stable. That said, there are some shorter term "fires" that we have to make a judgement call on taking priority. Right now I am focusing heavily on startup and runtime performance, and Gabriel Peal is focusing on the maturity of our component library. I personally am not so great at balancing multiple projects at once, so a lot of my projects tend to come in big waves, or else I find I can never get anything done on a project if i'm trying to do them all at once. Integrating Native Navigation into the Airbnb app will be a large undertaking for us, and until it happens, this library should not be considered "production ready" (as I mention in the Readme).

Several of you have tried your hardest to be really solid contributors and open source citizens by contributing to this project, and I've done a poor job at harnessing that energy. I'd like to try my best to remedy those two problems today by creating a gitter chat room where anyone wanting to contribute on the project can come and chat on things that don't necessarily make sense as GitHub issues (which ideally are reserved for bugs). I will promise to be more responsive there. Additionally, for those who have shown significant interest and understanding in the code base so far, I am open to giving contributor access to the repo to push development forward. Please talk to me privately if you are interested.

henrikra commented 7 years ago

RIP AirBnb :D

pie6k commented 7 years ago

@lelandrichardson thanks for your response. but - come on - you've published it. It comes with responsibility :) 3 months? 6 months? 1 year? no idea at all?

Everyone has some priorities as yours. And they often require some timetable to make decisions (eg. choosing if to develop app with other navigation or to wait till it's ready).

Navigators ecosystem in react-native is already very divided. Not sure how about you guys, but I consider it quite bad. I think this repo, having such potential (due to fact it's native and airbnb open source reputation) just hanging in the air is:

  1. confusing people when choosing tools for react native apps
  2. blocking new 'players' that might have something solid from entering the table
carlosconnected commented 7 years ago

@pie6k @henrikra you guys should check https://github.com/airbnb/native-navigation/issues/145#issuecomment-332928351 and https://github.com/airbnb/native-navigation/issues/146

This project is looking for experienced contributors.

gaearon commented 6 years ago

but - come on - you've published it. It comes with responsibility

I found something relevant in README:

screen shot 2017-12-30 at 17 21 16
braco commented 6 years ago

@gaearon: that's a standard disclaimer that belies the lack of commitment and resources here.

They may have covered themselves, but when a grade-A brand releases (with fanfare!) a desperately needed library for a popular platform, there are going to be expectations.

The disclaimer should have said that this is PoC abandonware until stated otherwise. It would have helped people make better decisions around forks and alternative libraries.