News for hackers. Stuff that matters.
Re:Going Mobile With React Native by idibidiart on Friday July 07, 2017 @10:38AM (#14718650)
Most of your reaction is anger and hate. That cannot be the truth. The truth is always balanced. If you were right then all of us who love React Native and have used it to build amazing cross-platform UX are wrong or have less insight than you, which cannot be true unless you've got some real insight or something, which is certainly not true.

The whole point of React Native is to develop apps for both iOS and Android (you seem to be an iOS focused developer so you wouldn't care but many of us are targetting both) and doing that easily (for those who build RN and those who use it) means we have to create a standard set of behaviors that work across both platforms and work far better than running a web app in a webview. React Native achieves that goal. But it also has an enormously capable ecosystem with companies like Airbnb and Wix making substantial contributions to things like Native cross platform Navigation libraries.

When it comes to threading, the native views run in the main UI thread (just like native views would in any native environment) while the JS business logic runs in its own thread. To minimize serialization costs between JS and Native a lot has been done so JS objects like styles are passed by numeric reference. You can always use something like react-native-fetch-blob to natively fetch an image or some other heavy asset and go around the JS-Native bridge. But you can also use Inage component to fetch and remder images without serializing over the bridge. The user community has many other examples and great libraries to complement React Native. All you have to do is be curious rather than judgemental and harshly criticizing things that you obviously lack in-depth knowledge about.

When it comes to layout, Flexbox and support for percentage based siIng give us the primitives we need to replicate the familiar responsive grid systems we use on the web. See this for example:

https://github.com/idibidiart/react-native-responsive-grid

And as far back as August 2015, I was able to create a custom keyboard in Obj-C and expose it as a React Native component:

https://m.youtube.com/watch?v=YV3p09KoYKw

There is nothing that could not be done with a combination of platform specific knowledge and React Native, and the technology is still evolving.

So Facebook has shared their work with us and we shared our work with the community. What do you have to share besides criticism of other people's work? Do you have any work of your own that helps others build things? Put it out there and open it to criticism from random folks on the internets. Let's see your true genius!

Re:Going Mobile With React Native by LeoNatan25 on Friday July 07, 2017 @11:58AM (#14719417)
Don't confuse anger with distaste. I have a profound distaste for mediocre software. I have distaste for software that looks terrible so the lazy developers can "doing that easily". I, as a user of software, don't care about your ease. I want to have good software, not a minimum value product. From your comment here, you obviously care little for platform-standards; you describe "a standard set of behaviors that work across both platforms and work far better than running a web app in a webview", as if that's some measure of quality. My measure of quality is higher, and I have the stage here and elsewhere to try and spread my message. If you don't like my message, you are welcome to downvote and/or click the [-] button on my posts.

"If you were right then all of us who love React Native and have used it to build amazing cross-platform UX are wrong or have less insight than you, which cannot be true unless you've got some real insight or something, which is certainly not true."

I work at Wix. I have a lot of insight into what I am talking about. We have one of the largest React Native applications out there. I have also contributed to the react-native project itself, and have intimate knowledge of how most of it operates. I have, and am, building tools to improve work with RN. I have an extensive iOS knowledge, and I have access to Android developers with extensive Android knowledge. We happen to share our opinion on RN.

"There is nothing that could not be done with a combination of platform specific knowledge and React Native, and the technology is still evolving."

Try running JS business logic concurrently. (Multiple JS VMs does not count.)

"What do you have to share besides criticism of other people's work?"

What a ridiculous statement. So I can't criticize terrible technology unless I, alone, have created a competing tech to Facebook, who employs hundreds of engineers?

Nonetheless, here are some open source projects which I have contributed or created:

https://github.com/wix/AppleSimulatorUtils

https://github.com/wix/detox

https://github.com/wix/DTXSourceMaps

https://github.com/wix/DetoxInstruments (WIP - no read me or documentation yet)

https://github.com/LeoNatan/LNNotificationsUI

https://github.com/LeoNatan/LNPopupController

https://github.com/LeoNatan/LNInterpolation

Before that I worked at Check Point Software Technologies, a security company, where contributing open source was frowned upon.

Re:Going Mobile With React Native by idibidiart on Friday July 07, 2017 @12:30PM (#14719702)
You're very arogant in your stance so no amount of chipping away at your ego will help. I get that single-platform developers (those not targeting N platforms with one codebase) don't get the idea of cross-platform DX and what design and tech choices make it sustainable in the long run.
Re:Going Mobile With React Native by LeoNatan25 on Friday July 07, 2017 @12:36PM (#14719760)
My stance is of quality software. I really don't care what technology you use as long as that technology (and the mindset of the developers using it) allow for creating that quality software. RN, in my opinion, does not. Xamarin is a much better tool, from my limited experience with it. Xamarin Forms is just as terrible, though.

Any software that does not use the full benefit of each platform it is running on is mediocre at best for me, let alone something that is limited to a single thread, and reinvents the wheel for simple and/or solved stuff, such as navigation, animation and OS widgets.

I do think that of all the cross-platform approaches, going the native UI and C/C++ business logic approach is best.

Re:Going Mobile With React Native by nthtran on Friday July 07, 2017 @01:23PM (#14720188)
If you hate it so much, why work at a company that produces mediocre software?
Re:Going Mobile With React Native by LeoNatan25 on Friday July 07, 2017 @01:44PM (#14720395)
Good question. I am a believer of change from within, but also, I do find joy in the tools I develop. They are not related directly to the company product software or its quality, but hopefully it helps others improve their development experience.
Re:Going Mobile With React Native by nthtran on Friday July 07, 2017 @02:10PM (#14720635)
Thanks Leo. I've seen a few of Tal Kol's posts and talks, and it seemed to me that Wix was all in on React Native. Thanks for sharing a different point of view.
Re:Going Mobile With React Native by LeoNatan25 on Friday July 07, 2017 @02:14PM (#14720674)
Tal is my team leader. We often have heated debates on these topics within the team.
Re:Going Mobile With React Native by idibidiart on Friday July 07, 2017 @02:36PM (#14720872)
I've seen Tal's talks and based on his passion and enthusiasm I do not see Wix moving away from RN, for as long as FB actively pushes RN forward. If FB drops it that's a different story.

NativeScript does not support GL/ThreeJS but RN does so I expect games will be built on top of RN. And when that happens we should get lots of new entrants in the ecosystem and greater creative mass.

Re:Going Mobile With React Native by nthtran on Friday July 07, 2017 @02:18PM (#14720707)
I see. How likely is it that Wix is switching back to pure native?