Microsoft Launches React Native for Windows
techcrunch.com
techcrunch.com
When was the last time macOS had an update that was exciting for developers? They’re phasing out OpenGL, and there is no CUDA support for Mojave. Docker support was pretty frustrating the last time I tried it as well. No big features in the last few macOS releases. All the latest features increase lock-in and don’t exist outside of the mac ecosystem (looking at you Handoff and iMessage)
Microsoft now has:
- VS code
- A new terminal announced today (a very welcome change)
- Ability to natively run any linux distro, with GUI! (WSL w/ X11 server)
- Hyper-V powered docker containers (and they’re fast)
- Great CUDA support
- One click to install and run Ubuntu desktop in Hyper-V
- Chocolatey has grown on me and is an effective brew replacement.
Overall, i’m very satisfied with the development experience on Windows, and the pace at which it is improving makes me very confident that it will continue to attract more devs.
I also like that they make their products available on other platforms. I know that if I switch back to MacOS my OneNote, word docs, and C# code can be brought over without issue. The same equivalents for macOS don’t provide any cross platform equivalents.
I’m still holding out for tabbed windows in the file explorer, though :/
The Mac is already a unix, so a lot of the things you list aren't necessarily things that Mac developers are clamoring for. WSL was a big deal because it brought the unix-like ecosystem to Windows, but Macs already had the ability to natively run a lot of unix utilities.
Notably left out from Apple's current direction are existing Mac developers and web developers, whom Apple has been taking for granted for years.
You'd be surprised. There's absolutely no reason to be a "small subset" if it makes men easy money for quick recompile + some small GUI adaptation.
Of course it is. In fact, that's the main purpose behind its development.
The incentive is easy port easy reach of a new, even if smaller, potential market.
To make the idea even clearer, if "porting iOS to OSX with Marzipan" was just a true/false toggle on XCode, almost everybody would toggle it and sell their iOS apps on the Mac App Store -- since it would take no time to do it, and it will reach a few dozens of millions on untapped potential customers (desktop mac users).
Well, it's the same situation, but now with Marzipan instead of trivially easy, like with the imaginary XCode toggle, porting an iOS app will be just "much easier" as opposed to "considerable effort" that it was before.
Also, I understood your comment "People with iOS apps on the App Store are a small subset of developers. That's the reality now." as meaning, "people with iOS on the MAC App Store are a small subset of developers" -- and responded to that.
If you meant: "People with iOS apps on the _iOS_ App Store are a small subset of developers" then that's crazy talk. They are hundreds of thousands of people making iOS apps -- and 1.5 or more million such apps.
The amount of UIKit developers is smaller than the amount of publishers. A lot of apps are made in bulk with web wrappers or template engines.
Let’s say there’s 200k UIKit developers in the world. That’s still clearly less than 10% of professional and hobbyist software developers.
There doesn't have to be any "support overhead". You can simply offer the app as is, as tons of developers do. At worst, throw a "FAQ/common issues" page and leave it at that.
I have tons of apps, and very successful ones (judging from their publicity/store placement), that offer absolutely no support.
>Let’s say there’s 200k UIKit developers in the world. That’s still clearly less than 10% of professional and hobbyist software developers.
It's still clearly way more than needed to have a huge market. Heck, 5% of pro and hobbyists developers would still be enormously huge.
The latency (sample buffer size to prevent drop-out due to preemption) on Android is too high, so mobile music production gravitated to iOS. E.g. - the latency on a $160 iPhone SE is still about half that of a $700 Pixel 2 phone.
I also avoid the issue of the differences between macOS unix tools like grep, where there are certain flags that differ from those on linux as I recall. This is of course resolved with using a port, but they’re still community maintained ports and under no guarantee to work the same on macOS and Linux.
I think this needs a 'yet', since supposedly it'll be changing with WSL 2 later this year.
This is what essentially kept me off from adopting Apple's walled garden or Google's web only systems (except for Google Photos and YouTube). I've had devices from either of these firms but I always restrain myself from investing into their platforms because one day I'll find something better but they'll hold my data as a ransom. Google will let me "export" the data, but in that form it is almost useless to me.
I also game a lot, so no other platform comes even close and now Windows has shipping support for:
- Mixed Reality / VR
- Raytracing (not just a tech demo)
which no other platform at the moment does.
Sure, he might be able to export his data but what use is that??
I keep all my personal stuff like email, messaging, browsing on Mac where privacy is higher and easier to maintain.
I do all my dev on Windows for the most part, along with my corporate Outlook account (which I use in a tab in Chrome, not even installed on Win10), that's basically how I do things.
This also allows me to make snapshots of Win10 whenever I'm considering installing something that might f-up my machine (aka test out some alpha release of dotnet core etc).
For example: I use VSCode, but I'm not sure I'd pay for Azure. In prior threads on HN, I recall reading some displeasure without service outages and availability issues.
Unless Microsoft had some other motive for caring about developer tools after a long period of not doing so. Regardless, their contributions to the open source community are welcome.
* I am happy with with the big improvements in VS starting around 2015. But the fact, that the C++ support was so bad in earlier versions (even if it was better in some ways than other IDEs) that it makes me upset that people had to put up with inferior older versions for over decade.
* It was not my original point but yes MS does not follow the standard very well, at least before. I even found a compiler bug myself back in VS2015 (the last version I used before moving linux server dev.)
Give Directory Opus a go https://www.gpsoft.com.au/
Friends don't let friends use Explorer.
Swing 5 just a few months ago?
I've you're willing to look at 3rd party software, I've been a happy user of Directory Opus for many years.
Edit: I'd love to use Windows as my daily BTW, it's just not there yet for me. I don't want to have to jump through hoops to make my current workflow, work.
How does virtualization fix that?
Maybe things can be speed up/cached when you are one-to-mapping the syscalls to NT kernel.
WSL doesn't support the inotify api so even basic tools like tail don't work.
In ubuntu you have to pass the --disable-inotify flag and the Debian version (without this flag) simply doesn't work.
Satya's Microsoft is almost doing everything right.
Part of the problem is that they are adding stuff without taking anything away. My Windows development machine manages to be both overstuffed with multiple shells, run-times etc., and have quirks or issues with almost everything that I care about. I just want a Bash shell, Python, SSH and a package manager that all work.
Try these:
Total Commander: https://www.ghisler.com/ fman: https://fman.io/
The 'tabbed windows on explorer' thing is well done, and I dunno, MS has always seemed less willing to copy a 3rd party app and kill its market than Apple are. That's one of the reasons why the 'better terminal' surprised me, conhost is very long in the tooth, but again plenty of 3rd party options.
https://github.com/Microsoft/react-native-windows/blob/maste...
> In this sub-folder, we are working on a vnext rewrite of React Native for Windows10 built in C++ that reuses the C++ core bridge implementation from Facebook’s React Native. This will allow React Native for Windows10 to innovate and provide features by sharing the same core as Facebook’s React Native.
Cool, but this is basically just an implementation detail.
(I do wish it supported Windows 7 and 8.)
The C++ rewrite is exciting but yeah, it's more of an implementation detail. I wonder if Microsoft words the announcement better (only saw the one from Tech Crunch).
Moreover, Microsoft itself been said to go around different prototyping shops here.
Lakefield was once said to be a codename for Surface Phone, but now been discovered to be a codename for Intel CPU purpose made for it.
This year I switched my developer machine from Macbook to Thinkpad and so far it has been wonderful.
Conspiracies aside, and probably more interestingly, I am not convinced that "this is the new Microsoft" or that Satya Nadella is some visionary CEO because while everyone has been seemingly lulled to sleep here on "the new Microsoft" on HN lately, guess what accounted for an ever growing portion of Microsoft's business last quarter? Microsoft's data mining business! Horray! So while we are out here with our pitchforks on the Google's and Facebooks of the world collecting our data and selling it, Microsoft has quietly turned around and ramped up their version of these practices seemingly unscathed.
Remember, Microsoft is still under scrutiny for continuing to collect your data on Windows and other products even after you have opted out. From my perspective, choosing to run Windows is still choosing to run a spy machine for Microsoft.
Maybe I am wrong, but Microsoft still doesn't deserve our trust, not even in the slightest.
Microsoft is a company like any other, and like any other company we should keep an eye on what they're doing.
But too often the people who "remember Microsoft's bad practices" are completely unwilling to reevaluate the company based on what they're actually doing _now_, instead preferring to cling to illogical biases based on an old grudge.
How many PRISM-like APIs are there?
If you need help sourcing this assertion, here’s their quarterly SEC 10-k filing. I look forward to understanding the basis of your accusation.
https://microsoft.gcs-web.com/static-files/fb546cc4-2cbe-41c...
Microsoft Dynamics is their ad tech solution for companies that wish to mine data about their customers. You want to tell me you are that naive to think they aren't dogfooding this internally to at least some extent? Windows 10 basically turns your PC into a spy machine for Microsoft. Now they have LinkedIn, which has well documented gross-levels of data collection on it's users, and GitHub which has a gold mine of data voluntarily given to it daily, and to some extent VSCode, although AFAIK, turning off the telemetry in VSCode really does turn it off (should still use Pi-hole to filter, just in case). You really think they aren't feeding that data into their DP and packing up this data and selling it off to the highest bidder, including governments, just like Facebook got caught doing? If so, I got a bridge I'd like to sell you.
Calling commenters shills is explicitly against HN policy.
https://news.ycombinator.com/newsguidelines.html:
Please don't impute astroturfing or shillage. That degrades discussion and is usually mistaken. If you're worried, email us and we'll look at the data.
Give it a rest or try Slashdot. You’ll definitely get a +5 Informative.
I don’t understand. Which commenter are you referring to? You weren’t replying to anyone. In so doing you implicated anyone saying something along the lines of "I switched from Mac to Windows, loving it!" as being a possible shill.
you should probably take a rest from social media as well, and take a step back to realize the negative lens you are viewing things through.
I don’t understand how that follows from anything.
Accusing people of being shills is against the policies of this website.
End of story.
System Requirements: Visual Studio 2017
Oh. Well, sorry but I'm not going to drop my current IDE (i.e install and run a branch new IDE rather than my everyday tool I've customized greatly).
The cons:
- an extra layer of abstraction
- need to write a plugin if you want to surface a native functionality to RN if it's not yet supported
- no visual UI editor like in native tools (Qt/VS), although you generally won't need it with React Native's code-first and instant refresh development workflow
- you need to be comfortable with React Native / JavaScript, obviously :-)
> The "current" subdirectory adds support for an earlier React Native for Windows10 implemented from scratch in C#. It reimplemented the JS<->Native bridge in C#, and shared the JS with Facebook's implementation of React Native. The ongoing direction of React Native involves a closer interaction between C++ and JS which is hard to achieve with a separate C# implementation.
Given that they say that the "old" version "shared the JS" in past tense, that seems to hint that the "new" version will not share the JS? In that case, what is left of React? It sounds like it will be the same style of API and workflow, but different widgets and no cross-platform compatibility.
Source: https://github.com/Microsoft/react-native-windows/blob/maste...
While Qt emulates something like WinForms quite well, I don't think it emulates WPF widgets at all, which I speculate this wraps.
Given that WPF is the primary GUI toolkit on Windows, the only reason to accept Qt, is if you're making something like a WinForms application that you need to run on all platforms.
Sounds like it will bring React apps a lot closer to their Windows underpinnings:
> Sometimes an app needs access to a platform API that React Native doesn't have a corresponding module for yet. Maybe you want to reuse some existing .NET code without having to reimplement it in JavaScript, or write some high performance, multi-threaded code for image processing, a database, or any number of advanced extensions.
> React Native was designed such that it is possible for you to write real native code and have access to the full power of the platform. This is a more advanced feature and we don't expect it to be part of the usual development process, however it is essential that it exists. If React Native doesn't support a native feature that you need, you should be able to build it yourself.
Source: https://github.com/microsoft/react-native-windows/blob/maste...