Live data from Hacker News

ReactXP – A library for building cross-platform apps

microsoft.github.io

71–80 of 124 posts

Re: ReactXP – A library for building cross-platform apps

#71
post #59

Earlier quoted context omitted.

I wouldn't recommend Forms, I worked with it for about 4-5 months full time last summer and it was unstable and unperformant.

Forms is the only real selling point for Xamarin. Too bad it doesn't have a good reputation.

The OS API integration, C# and F# are also selling points.

Qt doesn't support even half of the OS APIs that Xamarin does.

As for JavaScript based solutions, I don't intend to ever use it outside the browser.

Re: ReactXP – A library for building cross-platform apps

#72
post #70

I've been developing a cross-platform app with React Native, and react-native-web has been working really well. It took almost no effort to get my React Native app working in a browser. I might be wrong, but it looks like ReactXP is just an alternative to react-native-web, with some additional abstractions and conventions for stores, etc. I'm not sure I want to switch to ReactXP. I really like being able to use the R…

A simple app protoype for Windows though, would be interesting.

I should have mentioned, there is also `react-native-windows` [1]. I haven't tried it yet, but I think it should also be pretty easy to get running.

[1] https://github.com/Microsoft/react-native-windows

Re: ReactXP – A library for building cross-platform apps

#73
post #33

>With React and React Native, your web app can share most its logic with your iOS and Android apps, but the view layer needs to be implemented separately for each platform. As far as I understand, you don't need to do this in react-native. Only when you want to use some special features. Or am I missing something?

The description is obtuse, but I think they mean separately between web and mobile, not iOS and Android.

It'd mean this framework is supposed to be a higher level React Native implementation: that you can use everywhere you want to use React, not just mobile.

Re: ReactXP – A library for building cross-platform apps

#74
post #3

> ReSub > The Skype team initially adopted the Flux principles, but we found it to be cumbersome. It requires the introduction of a bunch of new classes (dispatchers, action creators, and dispatch events), and program flow becomes difficult to follow and debug. Over time, we abandoned Flux and created a simpler model for stores. It leverages a new language feature in TypeScript (annotations) to automatically create s…

The link points to https://microsoft.github.io/reactxp/docs/components/activity... which is probably a typo, this is the correct link: https://microsoft.github.io/reactxp/docs/components/activity...

Re: ReactXP – A library for building cross-platform apps

#75
post #3

> ReSub > The Skype team initially adopted the Flux principles, but we found it to be cumbersome. It requires the introduction of a bunch of new classes (dispatchers, action creators, and dispatch events), and program flow becomes difficult to follow and debug. Over time, we abandoned Flux and created a simpler model for stores. It leverages a new language feature in TypeScript (annotations) to automatically create s…

Totally agree with them on that. I love observable-style code vs the full Flux. Especially when I want a small, self-contained component. Redux in particular sort of asks you to not make your components self-contained, since you've got a single global state store. There are apps where it makes sense, but anything not full-blown-SPA-to-the-max can be really cumbersome with the flux pattern.

I find error-handling to be particularly awkward in the Flux flow. You've got the option of adding in callbacks (goodbye unidirectional data flow) or storing errors in global state which makes tracking down errors properly a right pain. Do you have to generate a nonce for every action that could fail and look for that in errors later? That isn't particularly reactive. Are you making data types polymorphic so they're either the thing I actually want or some error class? That doesn't mesh well with collection objects and is kind of gross in general.

I've had trouble finding/figuring out a clean solution for error handling. The flux patterns I've seen feel lacking with regards to error ergonomics.

Re: ReactXP – A library for building cross-platform apps

#77
post #54
post #50

Earlier quoted context omitted.

You can use Electron and do that. Not a ton of love for it around here because omg a web page as a desktop app the horror but I've had good experiences with it. (And if you e ever used Slack or Atom, you've used Electron)

> You can use Electron and do that. Not a ton of love for it around here because omg a web page as a desktop app the horror but I've had good experiences with it. Parent specifically mentions they want to get away from the performance issues of web apps [1] -- and you suggest they use Electron -- and even bring up Atom and Slack as examples, the worst CPU/slowness offenders of all time? [1] "Currently we are running…

"I really want React for desktop apps". There's currently one way to achieve that, was simply suggesting it.

They didn't mention web apps at all.

Re: ReactXP – A library for building cross-platform apps

#78
post #55

See also https://microsoft.github.io/reactxp/blog/2017/04/06/introduc... It came out of the Skype team. But it doesn't look like they're currently using it in their universal Windows app, which is built directly on XAML.

And I believe the desktop (Win) version of Skype is still in Delphi, right?

The latest Skype is UWP

Re: ReactXP – A library for building cross-platform apps

#79
post #69
post #56

Earlier quoted context omitted.

Parent is not saying (or asking whether) you can "use your React code as React Native". They are saying that from what they know, if you use React Native, you shouldn't have to recode your UI layer for different platforms. Which is true, but the point parent misses, is that it might not be necessary if you just want a cross platform app, but it is needed if you also want it to behave more like each platform users are…

What are different platforms referring to here? The quoted sentence sounds like it means web vs apps but you (and the parent?) make it seem like we're talking about Android vs iOS.

And Windows vs OS X vs Linux.

Re: ReactXP – A library for building cross-platform apps

#80
post #3

> ReSub > The Skype team initially adopted the Flux principles, but we found it to be cumbersome. It requires the introduction of a bunch of new classes (dispatchers, action creators, and dispatch events), and program flow becomes difficult to follow and debug. Over time, we abandoned Flux and created a simpler model for stores. It leverages a new language feature in TypeScript (annotations) to automatically create s…

That's also how I perceive flux/redux. It's promise is to make it easier to"reason about your application". But it's basically a glorified event model, which does have some nice properties, but you end up with one function bring scattered throughout your entire application as side effects (which you need anyway, be it as sagas, thunks or whatever). Now as your application grows out becomes really hard to follow the flow and if you dispatch an action, it's not clear what will happen because of this. Am I just not getting it right?
Post reply on HN