News for hackers. Stuff that matters.
Re:Proton Native – React Native for the desktop by whowouldathunk on Wednesday May 02, 2018 @01:49PM (#16979439)
> and now we're making traditional UI dev like web

It's been like that on Windows since 2006 with XAML. In fact, if you squint at typical JSX, it looks like XAML.

Disclosure: I work at Microsoft.

Re:Proton Native – React Native for the desktop by mlsarecmg on Thursday May 03, 2018 @03:34AM (#16984044)
XAML is a template, JSX is a DSL. A template kills scope, duplicates coding semantics, messes up app flow with bindings and needs dependency injection to get local scope back - all of this has been solved with JSX, which now pretty much fulfills Silverlights dream: https://news.ycombinator.com/item?id=16198843

The crazy part is, that you can share code and eco-system components among these targets, no matter if they're native or otherwise. Here's a shell applications for instance that uses react-motion to shift stuff around: https://github.com/gaearon/react-blessed-hot-motion

Microsoft seems heavily invested in it as well (react-windows, reactXP, UI-fabric, ...).

Re:Proton Native – React Native for the desktop by whowouldathunk on Thursday May 03, 2018 @10:40AM (#16986435)
XAML components ("controls" in MS terminology) contain both declarative markup and code. And it's flexible because the visual presentation can be completely overriden by the component's consumer without altering behavior, and your code can be either C# or C++.

What does dependency injection have to do with anything? There's nothing stopping you from using global variables or an event bus or something like Redux in a XAML app.

Re:Proton Native – React Native for the desktop by dugmartin on Wednesday May 02, 2018 @01:54PM (#16979506)
Or across multi-platforms with XULRunner from 2006 to 2015.
Re:Proton Native – React Native for the desktop by digi_owl on Wednesday May 02, 2018 @02:09PM (#16979660)
RIP...
Re:Proton Native – React Native for the desktop by tomcam on Wednesday May 02, 2018 @04:21PM (#16980806)
Plus ça change...
Re:Proton Native – React Native for the desktop by mstade on Wednesday May 02, 2018 @01:57PM (#16979539)
Or MXML, which most certainly was influenced if not entirely derived from XAML. Everything old is new again!
Re:Proton Native – React Native for the desktop by osteele on Wednesday May 02, 2018 @06:20PM (#16981661)
I’ll put in a plug for my former employer’s OpenLaszlo, introduced in 2002 (preview) and 2003 (version 1.0).

OpenLaszlo was most immediately inspired by HTML and (for data binding) XSLT. I looked at Mozart for ideas on constraints, but we ended up rolling our own design — mostly because constraints were never supposed to be a feature, so they were designed and developed incrementally, in discretely releasable baby steps.

Adobe did due diligence of the company sometime around 2002-2003 too, but that deal fell through. An Adobe PM also signed up for our beta program, initially under a pseudonym, but he eventually came clean. I’ve always been curious whether Flex/MXML was related to either of those encounters.

[1] https://en.wikipedia.org/wiki/OpenLaszlo

[2] https://ssl.weepee.org/lps-4.6.1/docs/developers/program-dev...

Re:Proton Native – React Native for the desktop by nl on Wednesday May 02, 2018 @10:40PM (#16982968)
I played with OpenLaszlo way back then. It was pretty nice.
Re:Proton Native – React Native for the desktop by underwater on Wednesday May 02, 2018 @11:32PM (#16983158)
Adam Wolff, former Chief Software Architect of Open Lazlo, is now the Director of Product Infrastructure at Facebook, and oversees React and React Native.
Re:Proton Native – React Native for the desktop by osteele on Wednesday May 02, 2018 @11:48PM (#16983215)
Adam developed the initial runtime implementation of data binding and constraints — with additional help from Max Carlson, and, later, P. Tucker Withington and Henry Minsky — while I did the compiler work and language design[1][2]. Adam et al wrote the runtime constraint resolution mechanism, which initially had an API for the procedural creation of constraint graphs. I was trying to make constraints and data binding look like JavaScript expressions, that were automagically recomputed when a subexpression value changed, by extracting dependency graphs from the source and packaging them for runtime use. (All this on the Flash 5 bytecode interpreter, which was slow as the dickens, even for the time — so there was a lot of optimization: in the compiler, in the runtime, and in the interstices. Although nothing like we did later for [3].)

This was the bottom of a slippery slope, where the designers and developers using the platform were exploring the kinds of applications it was possible to write (single-page web applications were relatively new in the early oughts — except for some pioneering Explorer-only DHTML work by Microsoft, which we should have looked at but didn’t — and we were all making up interaction patterns and software design idioms as we went along), and we were adding the platform features to enable some capabilities and golf others.

For a while Adam ran Laszlo’s Professional Services. He succeeded me as CSA when I left Laszlo.

It wasn’t Flex/MXML or XAML that killed Laszlo/OpenLaszlo, it was IMO first-gen dynamic frameworks such as Prototype and Scriptaculous, that could be gradually integrated into a page without placing a big rewrite-your-app bet. Also that we were about a year late in adding HTML as a second back end. (HTML wasn’t sufficiently standardized or practical to use for cross-browser single-page applications in 2001 when we started work on the Laszlo platform implementation, but it was by 2005-6.) Or, closer to the root cause: sales and strategy issues that made it difficult to keep investing much in the platform once it was starting to get traction; the product feature omissions are how those resource constraints played out.

[1] https://patents.google.com/patent/US20050039165A1/

[2] https://patents.google.com/patent/US20050038796A1/

[3] https://patents.google.com/patent/US20050114871A1/

Re:Proton Native – React Native for the desktop by drawkbox on Wednesday May 02, 2018 @02:51PM (#16980024)
Yeah the Silverlight vs Flex days of 2006ish really inspired this quite a bit.

Today Xamarin does all this pretty well cross platform, desktop and mobile for UWP/Mac and iOS/Android.

Re:Proton Native – React Native for the desktop by ascorbic on Wednesday May 02, 2018 @05:36PM (#16981364)
And TypeScript is the new ActionScript.
Re:Proton Native – React Native for the desktop by noir_lord on Wednesday May 02, 2018 @05:30PM (#16981317)
I've been using XAML at work recently (.Net 4.6) and I've got to say Microsoft did an excellent job.

The databinding approach is both elegant and familiar.

It certainly does look a lot like Vue Single File Components if you squint.

Re:Proton Native – React Native for the desktop by Tloewald on Wednesday May 02, 2018 @05:17PM (#16981229)
If you squint at JSX it also looks like JSP…
Re:Proton Native – React Native for the desktop by _pmf_ on Thursday May 03, 2018 @01:47AM (#16983605)
I refer to JSX as client side PHP.
Re:Proton Native – React Native for the desktop by Tloewald on Thursday May 03, 2018 @12:25PM (#16987362)
I think that's unfair to PHP.
Re:Proton Native – React Native for the desktop by fastball on Wednesday May 02, 2018 @08:40PM (#16982401)
If only MSFT hadn't burned all their hacker bridges with anti-trust behavior in the 90s.
Re:Proton Native – React Native for the desktop by drawkbox on Wednesday May 02, 2018 @02:48PM (#16979999)
Xamarin does this pretty well cross platform as well.
Re:Proton Native – React Native for the desktop by quickthrower2 on Wednesday May 02, 2018 @07:33PM (#16982081)
Come on... That's not fair on XAML
Re:Proton Native – React Native for the desktop by cobalt on Wednesday May 02, 2018 @04:03PM (#16980661)
or windows dialog RC files