5 ms·
Lol at all the web dudes amazed by this, making this on native mobile is a breeze (Android and iOS)
by julius_set 6y ago
Lol at all the web dudes amazed by this, making this on native mobile is a breeze (Android and iOS)
- nxc18 6y agoNative iOS alone is a substantial project in its own right. https://github.com/SCENEE/FloatingPanel https://github.com/SCENEE/FloatingPanel There are several of these implementations. I’ve recently had to implement something similar in Xamarin.iOS. It isn’t a breeze.
- LeoNatan25 6y ago60fps and gesture handling is a breeze on iOS. There is nothing impressive about achieving this. We’ve had it for 13 years now on iPhones. We now have 120hz displays on iPads, and guess what, animations there are easy to achieve too, at 120fps.
- exogen 6y agoMaybe you should let the amateur devs at Facebook and Pinterest know how easy it is? After all, they developed this entire framework in Objective-C to address UI performance, and – shocker here – they consider 60fps a selling point there, too. https://www.youtube.com/watch?v=8ngXakpE2x8 https://www.youtube.com/watch?v=8ngXakpE2x8 I guess you probably have better insight than the devs of two of the most popular native apps, though. Cheers!
- julius_set 6y agoYes I’ve worked at FAANG companies, and yes it’s great Instagram used AsyncDisplayKit (which is archived by the way). For most companies (maybe all), it’s not needed. Apple is doing a fantastic job abstracting views into SwiftUI and Android team is doing the same with Jetpack Compose. Then what? More abstractions over abstractions to achieve 60 or 120 FPS through another framework? And this is not related to the OP post, making these bottom sheets is a breeze. Literally: 1.) Custom ViewController with custom UIView as base view 2.) Add as child or present over root controller 3.) Translate and animate custom base view from bottom (top... left... whatever the hell you like)
- myko 6y agoIt's a bit more difficult to make it natively than what you've described if you want to track the users gesture and deal with content that also scrolls. Not more than a few days of work to get right at max but still a bit more.
- julius_set 6y agoSure. 4.) Put scrollview inside base view 5.) Register pan gesture and delegates and write logic for full, mid, none snap points You clearly don’t need another whole framework to do the above
- kall 6y agoIt‘s about as easy to do what you describe in react native without performance issues, but like others have mentioned there is more to this pattern related to scrolling content, snap points, interaction with the content behind it...
- julius_set 6y agoWhat performance issues? You’re telling me the native implementation has performance issues over RN?
- julius_set 6y agoAnd I am not a React hater, I use React Js a lot
- LeoNatan25 6y agoI have the insight of 10 years of experience with developing complex iOS software. Facebook, like other big corporations, has a big tendency of over-complicating tasks. Case in point, React Native. The library you mentioned, AsyncDisplayKit, was an over-complication, which tended to create more performance issues than it solved.
- julius_set 6y agoPretty much this there are 400 active current issues in Texture, same issues when I worked at smaller companies who wanted to do the “cool” thing and follow FB. Unneeded abstractions
- raydev 6y ago> they developed this entire framework ... to address UI performance They developed it to address developer performance and ensure consistency. Apple's layout APIs certainly could be a lot better but this framework only seems necessary if you want to avoid having the same teachable moments over and over for thousands of junior engineers.