11 ms·
ReactXP – A library for building cross-platform apps
- sjroot 8y agoI'd love to hear more about how this differentiates from existing alternatives, namely Proton Native[1] and the NodeJS bindings to libui[2]. I am specifically interested to see how/if/when Microsoft will support Linux and macOS, as the aforementioned solutions already do. [1] https://proton-native.js.org/#/ https://proton-native.js.org/#/ [2] https://github.com/parro-it/libui-node https://github.com/parro-it/libui-node
- deleted 8y ago[deleted]
- watoc 8y agoLooks more like an alternative to React Native for Web[1] and React Native Windows[2]. [1] https://github.com/necolas/react-native-web https://github.com/necolas/react-native-web [2] https://github.com/Microsoft/react-native-windows https://github.com/Microsoft/react-native-windows
- icc97 8y agoYes, it will be cross platform, it's all part of the move of Office to React, see this whole Twitter thread [0] from Sean Larkin: > And here's ReactXP which is baked in to Skype (consumer) to make it possible to ship cross plat and single code base native applications with consistent UI [0]: https://twitter.com/TheLarkInn/status/1006857447364063232 https://twitter.com/TheLarkInn/status/1006857447364063232
- discreteevent 8y agoI don't see anything about moving office to react there.
- dx87 8y agoThe developer who started that twitter thread massively overstated how much react was going to be used in MS Office applications because for some reason he didn't like that a college professor said that scripting languages aren't appropriate for developing an office suite. You can see in the first tweet he says that all of the office applications are being re-written in javascript, and after everyone was thoroughly dissapointed that MS would do that, other developers from MS commented here and on reddit that all of the office tools were going to stay written in C++, and react was only going to be used for some of the UI design, there was never a plan to rewrite everything in react.
- kyberias 8y agoTo be fair, he never said Office (the good old Office "client"), he said Office 365, which is the web app version of Office basically. Everyone knows Office is C/C++. Ported to iOS and Android thanks to that.
- contextfree 8y agoOfficially Office 365 includes the subscription version of the native client apps. The web apps are called Office Online. Lots of people are confused about this though, as it's confusing.
- dragonwriter 8y agoOffice 365 is the subscription service that includes both the evergreen versions of the native Office apps and Office Online.
- icc97 8y agoIt's at the top of the thread [0]: > All of Office 365 is (almost finished) being completely rewritten in this little scripting language called #JavaScript. [0]: https://twitter.com/TheLarkInn/status/1006746626617008128 https://twitter.com/TheLarkInn/status/1006746626617008128
- 8y ago
- sequoia 8y ago"We have multiple forks of react-native for each platform. Of course combined with ReactXP and friends. :)" https://twitter.com/TheLarkInn/status/1006762319790125057 https://twitter.com/TheLarkInn/status/1006762319790125057 It's not clear to me that maintaining multiple forks of react native per environment is so much easier. And that still doesn't buy you native performance & controls. I don't really get it to be honest.
- deleted 8y ago[deleted]
- edoceo 8y agoFrom the article: ""XP means X-Platform Share most of your code between the web, iOS, Android, and Windows."" So, not exactly cross-platform.
- conradk 8y agoThen again, different platforms have different sets of hardware features, so sharing 100% of the code is usually not possible or desirable if you want to make the most of each platform.
- RussianCow 8y agoI think the emphasis was on "web, iOS, Android, and Windows" (no macOS or Linux), not "most of your code".
- talmand 8y agoJust two would qualify it as cross platform.
- dec0dedab0de 8y agoIt's a fair use of the term, and the kind of thing I would expect from old Microsoft. Maybe they'll add support for mac, linux, bsd, etc later.
- WorldMaker 8y agoIt's an Open Source project so maybe community members will add support for those other platforms? Quick search of the project issues shows that macOS is already mostly supported: https://github.com/Microsoft/reactxp/issues/19 https://github.com/Microsoft/reactxp/issues/19 It looks the project leads want more consensus on Linux React Native (ie, something actively maintained and preferably merged to mainline React Native support): https://github.com/Microsoft/reactxp/issues/41 https://github.com/Microsoft/reactxp/issues/41
- untog 8y ago
- colinramsay 8y agoThere's mention of MacOS in the codebase and a few PRs but there are no samples or documentation on getting it working, which is a little frustrating. https://github.com/Microsoft/reactxp/issues/19#issuecomment-371781900 https://github.com/Microsoft/reactxp/issues/19#issuecomment-...
- betageek 8y agoWhere are the live demos?
- omegabravo 8y agoI built RXPTest, and TodoList for the web https://imgur.com/a/qWDsaGd https://imgur.com/a/qWDsaGd
- sdfgsdfgh 8y agoGuy asks for live demo, you link to imgur. Boss move
- colonelpopcorn 8y agoThis is a reddit-tier joke, but now all that's left to do is get XP running in XP.
- fredsanford 8y agoAnyone know which definition of lightweight is in effect here? :) I see Atom called lightweight all the time. I remember when my PC had a 5MEG HDD and exactly 640k of RAM, so... I'm curious what amount of resources (disk, runtime memory etc) is used for something like a small CRUD app (think simple phonebook or CD library) If you know the answer for proton native, please post that too!
- laurent123456 8y agoFor Android, iOS and Windows 10, they build the app using React Native so it's quite lightweight. For Linux and macOS, at the moment you need Electron so it's heavier.
- tssva 8y agoI don't see the point to mentioning the specs of your old PC. My first computer had 4k and a tape drive does that mean software for your PC was bloated?
- fredsanford 8y agoContext
- d--b 8y agoI’d be more interested in knowing if someone had ported the ideas behind react in a cross platform language, rather than shipping a JavaScript engine with all your apps. Or maybe there should a JavaScript virtual machine in the OS itself.
- pavlov 8y agoThere is a fast JavaScript VM included in Apple's iOS + macOS (JavaScriptCore/Nitro) as well as Windows (Chakra), and they come with a public API.
- Touche 8y agoThe ideas behind react predate react by decades, so yes, people have...
- d--b 8y agobut cross-platform?
- frostymarvelous 8y agoI think flutter fills that space. Apart from lacking proper background task support, it's a good offering. As a very adopter of react, flutter tickles me the same way.
- ducaale 8y agohttps://github.com/pojala/electrino https://github.com/pojala/electrino is electron alternative that uses the system's own web browser engine.
- sdegutis 8y agoI had the same idea: a lightweight variant of Electron, that just uses WKWebView for the GUI and JavaScriptCore for the core functionality, passing messages between them (serializing via JSON). I have a proof of concept already, but it's not cross-platform so that's a major downside, and I don't think many people need the combination of (1) Mac-only, (2) lightweight, (3) using JS for the core logic, (4) using web views for the GUI. I just don't think there's a market for that.
- laurent123456 8y agoIt's from 2016.
- alluro2 8y agoAnd latest release a year ago. Bamboozled on HN again :)
- m0meni 8y agoNo one really keeps github releases up to date. If you look at their package.json, 1.40-rc.2 was released 5 days ago.
- azimuth11 8y agoreactxp on NPM was last published 5 days ago. It seems they stopped publishing releases to github. https://www.npmjs.com/package/reactxp https://www.npmjs.com/package/reactxp
- bhouser 8y agoHere is the version history. As other comments mentioned, last release was 5 days ago: https://microsoft.github.io/reactxp/versions/version_history.html https://microsoft.github.io/reactxp/versions/version_history...
- bufferoverflow 8y agoSeriously, Microsoft? From your own websites: Xamarin: Deliver native Android, iOS, and Windows apps with a single shared .NET code base. ReactXP: Share most of your code between the web, iOS, Android, and Windows.
- joobus 8y agoHey Microsoft, when are you going to integrate Xamarin and React Native??? You are obviously fans of react, and it would be nice to have one native language (C#) for writing integration code to react native apps.
- int_19h 8y agoWhy, though? If you don't care about the web, then Xamarin Forms is strictly superior to React Native in terms of resulting UI. And if you do, then Xamarin is not an option anyway.
- solarkraft 8y agoThis could be solved by porting Xamarin to the web.
- pjmlp 8y agoThey learn from Google's Flutter and PWAs advocacy.
- afarrell 8y agoWhat is surprising about this? Microsoft wants people who would otherwise only have written iOS and Android apps to also write Windows apps.
- bufferoverflow 8y agoCould've been done with Xamarin.
- 8y ago
- alluro2 8y agoThat name harkened back to era of Internet Explorer 6 and evoked painful related JS/CSS development memories even before realizing it's Microsoft's project :D
- th3byrdm4n 8y agoI'm sure this was in the works well before Safari/iOS 11 implemented the majority of the PWA standard, but can someone help me understand what the target market is for this in 2018? We just built a ground-up PWA and users LOVE it (Android/iOS, tablet/phone/PC). Why complicate and slow your programming + production software down by trying to XP?
- mythz 8y agoWith the issues I've had with React Native, I'm keeping my eye on Flutter, great dev experience backed by a well resourced team, hope to see its ecosystem catch up. A couple of projects to watch out for: [1]: https://feather-apps.com/ https://feather-apps.com/ [2]: https://github.com/google/flutter-desktop-embedding https://github.com/google/flutter-desktop-embedding
- rglover 8y agoCurious, what are some of the issues you've had with React Native? Any big pitfalls to watch out for?
- village-idiot 8y agoMe too. I’ve been having a good experience with it so far.
- mythz 8y agoAll experiences I've had with submitting issues with repro's were all closed, basically they've closed 100's of issues indiscriminately without any attempt to investigate or resolve them. I also believe Flutter's Skia approach is superior to React Native's [1]. [1] https://news.ycombinator.com/item?id=14433292 https://news.ycombinator.com/item?id=14433292
- resters 8y agoThere's one guy on the team who aggressively closes issues. It's extremely irritating to read an issue and see that progress was being made only to have that guy make a terse comment and close the issue for no apparent reason. Each of those issues likely wasted hours, days or weeks of time for many, many people.
- tspike 8y agoJust a few: - As another commenter mentioned, they ignore and close legitimate issues on a regular basis - Breaking changes are a way of life and extremely frequent - They ignore native warnings: our project had zero before introducing RN, now has hundreds - Navigation is a mess - Integration with existing native apps works for tiny features but falls apart in larger teams - Debugging issues that cross the JS <> Native boundary is a nightmare - Keeping pace with native updates is made much more difficult by the API churn- want to update to Xcode 10? First you have to update RN, which will break all your features - Poor maintenance of views meant to mimic native views - If you have a hybrid native/RN app, instead of reducing the platforms you have to support from 2 to 1, you've effectively increased it from 2 to 3
- alphaomegacode 8y agoLooked at the code in their components section and is it safe to say that we need to use Typescript to use this?
- k__ 8y agoJS interfaces with TS rather nicely.
- anticensor 8y agoName clash with ReactOS, reimplementation of Windows.
- bdcravens 8y agoPretty sure that goes back to Facebook's naming of React; Microsoft is just building atop Facebook's decision.
- stephengillie 8y agoIt's not just React, it's ReactXP. Remember 2001, when everything was named XP - WindowsXP, AthlonXP, etc? The name is almost nostalgic. And being Microsoft, I'm surprised it's not "ReactXP.NET for Windows Server by Cortana".
- contextfree 8y agoXP to mean cross-platform is well established, for example XPCOM used by Mozilla/Firefox. https://en.wikipedia.org/wiki/XPCOM https://en.wikipedia.org/wiki/XPCOM
- tspike 8y agoCan we please stop trying to Javascriptify everything? The cross-platform thing has been tried again and again and again, and always runs into the same pitfalls: poor mimicry of native standards, inefficiency, debugging difficulty because of abstraction layer built on abstraction layer, enabling developers with poor understanding of the underlying platform to make an absolute mess of an app for others to maintain later on, and so on.
- CharlesW 8y agoApps like VSCode show it can be done well. And using JavaScript for doesn't necessarily preclude a native UX (see: React Native).
- tspike 8y agoReact Native only minimally uses native views. Rather than standard controls, they paint generic views, which still requires custom implementations and reinventing the wheel.
- petekp 8y agoWhile React Native doesn't fully support native navigation components out of the box, there are third party libraries that interface directly with native navigation modules, e.g. https://wix.github.io/react-native-navigation https://wix.github.io/react-native-navigation. Moreover, React Native makes it easy for developers to 'drop down to' native code at any point to fully leverage native SDKs and APIs alongside their Javascript code using the NativeModules API. Example of native modules with React Native wrappers: https://facebook.github.io/react-native/docs/components-and-apis#ios-components-and-apis https://facebook.github.io/react-native/docs/components-and-... NativeModules API: https://facebook.github.io/react-native/docs/native-modules-ios https://facebook.github.io/react-native/docs/native-modules-...
- int_19h 8y agoIt still doesn't give you native look & feel. Although much as it pains me, I think that is a lost cause. And it was lost through attrition - devs kept throwing non-native (often, JS-based) apps at users, and users got conditioned to each app having its own look, much like websites.
- floatingsmoke 8y agoI think ReactXP is not a visionary project but Microsoft's approach to take advantage of javascript developers and make them able to build mobile apps for Windows phones beside indispensable platforms(Android, iOS).
- jve 8y agoWait, isn't Windows phone officially dead? https://www.bbc.com/news/amp/technology-41551546 https://www.bbc.com/news/amp/technology-41551546
- acidity 8y agoNewbie question but will this help me also write desktop apps?
- oliyoung 8y agoYep, you can build [UWP](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide https://docs.microsoft.com/en-us/windows/uwp/get-started/uni...) apps with it, not sure if there's a OS X desktop solution
- blinkingled 8y ago> web, iOS, Android, and Windows. So cross platform minus Linux then?
- qwerty456127 8y ago> Share most of your code between the web, iOS, Android, and Windows How is it better than React and React Native if it still is web+mobile+Windows and doesn't offer Linux and macOS support? Also doesn't the fact React is by Facebook and ReactXP is by Microsoft and introduces Windows support look suspicious like if they were building an incompatible version of React like they've done with Java in the past?
- franga2000 8y agoWhat a surprise that a supposedly "cross-platform" solution from Microsoft does not support any of the competing platforms (macOS, Linux...). /s Smells of EEE...
- jevgeni 8y agoI mean: https://microsoft.github.io/reactxp/docs/faq.html https://microsoft.github.io/reactxp/docs/faq.html It's React, it supports iOS, Android, Windows and web... What was the point of your comment?