Live data from Hacker News

React Native for Windows and Mac

microsoft.github.io

231–240 of 505 posts

Re: React Native for Windows and Mac

#231
post #17

React Native scares me with its dependency webs: http://npm.anvaka.com/#/view/2d/react-native From my experience, it's really great to work with and definitely saves a ton of work, but the depgraph above fills me with doubt for use in sensitive applications such as in finance or healthcare. For this reason, I've been trying out Flutter or even considering to go back to native apps. Perhaps there's some kind of middle…

A bit off topic, but the visualization of the dependency graph isn't really good. There are much better ways to render DAGs: https://github.com/erikbrinkman/d3-dag

My favourite is the factorio research tree. It gives you a sense of depth and you can select dependencies.

Maybe I'll implement it one day when I have the time.

Re: React Native for Windows and Mac

#232

Earlier quoted context omitted.

"Useful" as long as you don't care about battery life, memory usage, taking advantage of features of the host platform, or the native UI. As an end user why do I care about "openness"? If I pay a premium for my platform, why would I want second rate cross platform software?

> As an end user why do I care about "openness"? If I pay a premium for my platform, why would I want second rate cross platform software? Falsehoods HNers believe about how people buy/use software. Didn't stop Slack/Discord from become ubiquitous. "But native tho" just becomes a circlejerk. Talking about what users care about, most people don't know what native means nor if a given app is it. They don't know if Zoom…

Let's not forget that MS Teams has more paying users than Slack....

How many people know that Slack is battery draining monstrosity?

The only people that pay for Slack are companies. The definition of Enterprise Software is where the user is not the customer.

Re: React Native for Windows and Mac

#233
post #211

Earlier quoted context omitted.

Why would I as end user care about developer efficiency?

Aside from update frequency you wouldn't, users can't tell the difference if it's done well. Are we not talking about "the state of software development"?

Microsoft and Adobe update their apps quite frequently -- for Mac, Windows, iOS, and Android. I gladly pay $100 a year for O365.

What are some well done cross platform apps that don't unnecessarily drain battery life? I can think of one - VSCode.

Re: React Native for Windows and Mac

#234
post #129

Earlier quoted context omitted.

People love to say this but rarely provide concrete examples. Google has a habit of discontinuing unsuccessful services, not technologies like SDKs or whole programming languages.

Angular.js is currently causing problems for me, as it's going to be unsupported in about a year.

https://angular.io/guide/upgrade

Re: React Native for Windows and Mac

#235
post #6

I'd love to abandon my C/C++ UI frameworks for React, but I need - consistent rendering/support across multiple platforms and versions - multiple windows - rendering to a window that isn't owned by the UI being rendered or created by the framework Can I do that all in React native? Edit: don't need to bring up electron.

Consistent cross platform: This is actually the one thats probably most difficult with react-native. Since unlike electron or Flutter, React-Native uses native UI for each platform. This means you can achieve full parity with native apps in terms of the UI. But all the platforms have different capabilities so since react-native can take full advantage of all the platforms, and isn't lowest common denominator, there a…

For that matter: Sciter supports use of native platform (or custom) native windows or widgets. For different reasons an combinations. I saw cases when even Qt widgets were used as DOM elements in Sciter controlled main window. So you can get best of two worlds - flexibility of HTML/CSS (rendering, layout managers) and native UI behavior and look.

Re: React Native for Windows and Mac

#236
post #17

React Native scares me with its dependency webs: http://npm.anvaka.com/#/view/2d/react-native From my experience, it's really great to work with and definitely saves a ton of work, but the depgraph above fills me with doubt for use in sensitive applications such as in finance or healthcare. For this reason, I've been trying out Flutter or even considering to go back to native apps. Perhaps there's some kind of middle…

For this reason, I've been trying out Flutter or even considering to go back to native apps. This says so much about the sad state of modern software development... When native development is a last resort.

Why does it have to be sad? When software becomes easier to develop, it enables everyone to benefit.

More developers, more applications of software.

At the same time, performance has a tangential relationship with computer code being interpreted or compiled to native.

After all, Java is compiled to byte code and powers plenty of high traffic servers efficiently.

Many AAA games use ActionScript, Python, Lua, etc for their UIs and scripting for mods.

While it's true that there is no substitute for code compiled to native when high performance is called for, I think it's justified for native development to be last resort.

This is coming from someone who codes primarily in C++, where high performance is important. I wish I didn't have to.

Re: React Native for Windows and Mac

#237
post #211

Earlier quoted context omitted.

Aside from update frequency you wouldn't, users can't tell the difference if it's done well. Are we not talking about "the state of software development"?

Microsoft and Adobe update their apps quite frequently -- for Mac, Windows, iOS, and Android. I gladly pay $100 a year for O365. What are some well done cross platform apps that don't unnecessarily drain battery life? I can think of one - VSCode.

Huge companies, yes. They'd still prefer to spend less money/resource/time if they have the option to though, hence why some large companies actively explore cross platform technology. Adobe did that with phonegap a long time ago.

You're talking about Electron there, which like phonegap is a browser wrapper and a different thing to RN. I don't believe RN is known to be a battery drain in general.

Re: React Native for Windows and Mac

#238
post #5

Flutter seems to be gaining ground on React Native. And they also have web and desktop ports. Recently flutter overtook react native on Google trends.

Flutter on the web is absolutely insane. For those who don't know, it basically strips away everything and wraps it in a big terrifyingly complex mess of code and renders everything in a canvas. Flutter advocates like to claim that that's "only a fallback" for when things get complex but as far as I can tell the vast majority of things (including the simplest examples from Flutter itself) force the entire thing into canvas: it's basically Flash 2.0, but worse.

I seriously hope that Flutter fades. It's very dangerous in many ways. Even ignoring the huge downsides of basically having a new Flash, consider this: the massive Flutter layer is, surprise surprise, yet another Google project that is magically _significantly_ slower in Firefox. I don't mean a small difference here, I mean that on a brand new fancy flagship I tested on, Flutter in Chrome is buttery smooth and Flutter in Firefox is a miserable, laggy experience. If it gets popular, this will become yet another reason pushing people off Firefox and cementing Google's dominance of the web.

Flutter is a very, very dangerous thing.

Re: React Native for Windows and Mac

#239

I tried using this a few months ago, as well as React Native for mobile and React Native Web for web, and I felt like they were all just hacks glued together to get cross-platform support, and RN isn't even native, it still includes a Javascript bridge. Build dependencies and packages were a nightmare, things continuously broke. I tried Flutter afterwards and it just felt like a breath of fresh air. Everything "just…

I've done a few client projects in the past using React Native. I get the appeal of having a "single" codebase for iOS and Android, but I absolutely detested using it.

I'm quite sure and aware of people that love it, but just from my personal development background, it just never really seemed appealing to me. Definitely not a fan of how state is handled. I've rolled my own system, Redux, and a host of other solutions as well. It just all seemed unnecessarily complex.

As you said, to me it just felt like hacks on top of hacks. I'll take vanilla iOS and Android development any day of the week, and twice on Sunday.

With that said, and from what I've seen of Dart/Flutter, I really hope it takes off.

Re: React Native for Windows and Mac

#240

Earlier quoted context omitted.

HTML is half of the problem, the DOM is just fundamentally unsuited for app UI rendering, and CSS is a nightmare when applied to UI controls rather than text documents. What we need is a cross platform well-thought-out scene graph like Flash had or Flutter (kinda) has.

> the DOM is just fundamentally unsuited for app UI rendering... Consider the following: Native UI: is a tree of widgets. Each widget has sematic properties / attributes. Each widget may have style properties (colors ,fonts, etc.). Each widget has exactly on parent and may have multiple children. There is an API for all of these. HTML/DOM UI: Same as above, just replace "widget" by "element". Could you explain then w…

The most glaring is the ability to measure things (including text) in order to lay them out, rather than adding stuff to the tree and waiting a while for somebody else to lay them out in order to measure them. Followed closely by absolutely everything about the way overflow "works". After that I'd add the absolutely batshit insane hoops through which one still must jump to build any sort of text editing component without throwing away all the good things about HTML like accessibility; the things going on inside Visual Studio Code required to produce even an experience as good as that must haunt the team that builds it. The disconnect in process between "building something out of built-in components" against "build and using a new component", the list goes on.

And just about all of these things are made worse by both the cascade rules and complicated precedence system of CSS.

Post reply on HN