Get the top HN stories in your inbox every day.
gh123man
saurik
I was doing this--using Darling to run the various tools from Xcode on Linux so I could build one of my macOS projects--five years ago and it worked great, but I haven't done it much since as at some point I started using MacStadium to rent Mac Minis. (I want to start using Darling again though, on the assumption that it is still working for running more GUI-oriented build tools--stuff like ibtool and actool, which I have sadly started to need, and now particularly the actual xcodebuild stuff, as Flutter is forcing me into that world due to its usage of CocoaPods... I hate it :/--from newer versions of Xcode.)
joshspankit
I was just starting in to Flutter after choosing between it and React/Vue native.
Your comment is making me want to do a 180 as Flutter’s future is now scary to me.
0x001D
what happens to flutter?
999900000999
This is for Unity specifically, but people are building IOS apps on Windows.
https://assetstore.unity.com/packages/tools/utilities/ios-pr...
I doubt any employer would let you do this though. And I have my Mac Mini for recording music and building IOS apps. But it is neat to see it's possible
stuaxo
There are plenty of much smaller companies and some of them would do definitely do it.
charcircuit
>I doubt any employer would let you do this though.
Why?
nmfisher
Probably because it runs the risk of Apple revoking your developer account for supposed noncompliance, meaning your access to the closed iOS garden - and thus your business - disappears overnight.
SmileyKeith
For bazel users there is also this project[0] which runs the tools natively on Linux without requiring this layer. Although you lose tools like ibtool / actool which don't have open source re-implementations.
[0]: https://github.com/apple-cross-toolchain/rules_applecross
angerman
How do they obtains the mac/ios/... SDKs? I thought they were packed with Xcode, and it wasn't permissible to extract them?
yjftsjthsd-h
For unit tests, can you "just" build on Linux natively? I'm pretty sure Swift and Objective C are supposed to both work on Linux, although I assume library/API surface limits that.
SmileyKeith
This does generally work, but it requires a lot of manual effort to setup the environment correctly with Xcode's SDKs to satisfy the compiler / linker.
willyt
Also a mac mini is £700 which is the equivalent of ~3 days work for most trades here in Britain. I you value your time as much as a joiner and if it’s going to take you more than 3 days to get your environment setup and keep it maintained then you’re better off just buying a mac.
saagarjha
Plus, I’ve found that most iOS codebases, tend to rely on parts of Foundation and the Objective-C runtime that are not implemented on Linux, even if the code doesn’t touch UIKit at all.
mikkelam
See also:
https://news.ycombinator.com/item?id=12854895 [nov, 2016]
https://news.ycombinator.com/item?id=19772322 [apr, 2019]
https://news.ycombinator.com/item?id=22700365 [mar, 2020]
https://news.ycombinator.com/item?id=24683669 [oct, 2020]
freedomben
Just thought it may be worth mentioning if there are devs from the project here, but Darling is one of the efforts that I would sponsor/donate to (just small amounts for now as I haven't made my millions yet ;-) if there were a more defined road map with milestones/goals.
This is an amazing and important goal! Thank you so much for dedicating your time and efforts to this!
dvirsky
Looks like an incredible project, but if GUI is not working, what is the current use case for it? Command line apps are usually open source and can be compiled in either system. What are people using this for in day to day work?
stuaxo
GUI will come eventually.
Some Dev commandline tools and compilers are starting to work, so these kind of environments will probably come first which will provide better performance than running under virtual machines.
ivolimmen
> Some Dev commandline tools and compilers are starting to work, so these kind of environments will probably come first which will provide better performance than running under virtual machines.
Then it's not useful as the only thing interesting on macOs are the GUI applications. All the tools I used on macOs for the command line where already available on Linux.
seanw444
As blunt as that is, I have to say I agree and thought the same thing reading through their page. I'm sure it's been quite a feat to get this far, but until GUI is supported well, I can't think of a single thing I'd ever personally use it for.
pxmpxm
Sounds like an inverse of the homebrew project...
undefined
dvirsky
What are some command line tools that aren't available natively on Linux? I'm not trying to dismiss or be negative, just really curious.
mastazi
Elsewhere in this thread, iOS CI/tests have been mentioned.
kristofferR
"xcrun safari-web-extension-converter" is one, for example.
aasasd
> GUI will come eventually
You mean like GNUStep?
waffle_maniac
How about GPU stuff? OpenGL?
dheera
> what is the current use case for it
This is Hacker News, not Product Hunt
Maybe by posting here they will get more people to help make GUI happen
jedisct1
Zig has out of the box support for Darling, in order to directly run cross-compiled macOS apps on Linux.
kreelman
In case no one knows what zig is.... https://ziglang.org/
From the link.... "Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software."
cosmojg
In short, it's kinda like Rust but for C instead of C++.
stuaxo
There's still a long way to go, especially if you want GUI apps.
If you want to contribute there is an active community on Discord.
toastal
If you want to contribute, you must agree to Discord's terms of service and data collecting. Projects need to stop doing this as the only option.
teh_klev
> Can I run Darling on Windows using WSL?
> With WSL 2, yes! See the documentation for more details.
https://docs.darlinghq.org/wsl-build.html
Darwin on Linux on Windows...spins totem really fast.
Who would've thought this would be a thing 7-8 years ago?
teilo
Good luck with supporting Mac GUIs. It's a constantly shifting target. Carbon is gone, but now Cocoa isn't always Cocoa because you also have to support SwiftUI, which is itself a moving target.
Uehreka
I thought SwiftUI was an abstraction layer on top of Cocoa, Cocoa Touch, etc. so you could reuse code between executables. Is that not the case?
teilo
It is, but perhaps I'm not understanding how it is currently implemented. I thought there was a system framework it relied upon, and if so, that framework would need to be implemented in Darling. Perhaps the framework is embedded in every .app package? There's a similar issue with the Swift runtime. I believe Apple's goal is to make it a system framework, at which point it would also need to be implemented in Darling.
mastazi
This project needs more contributions! I hope being on the HN home page will help
saagarjha
I have some bad news for you…
DyslexicAtheist
stupid question because I have not touched a Mac since 1999. What kind of apps are you using on Mac that if you were forced to switch to Linux you feel that you can't live without?
the appeal back then (and from I hear people say until today) was always how everything is neatly integrated. a coherent system from the hardware all the way up the stack. not sure if that is overselling it but at least that's how I understand is what people are happy to pay for.
input_sh
I've never used a mac, but I do envy mac users for some of the productivity-focused tools like Alfred, Bear, Hazel, Keyboard Maestro, and similar.
While I do have some alternatives on my Linux system (Obsidian, Espanso, uLauncher, a bunch of scripts), they're not as integrated and somewhat of a pain to maintain properly.
linkandzelda
I was an Apple user since 2008 until 2018, when I finally switched to Linux full time. At the time of my first switch attempt it was 2014, but I didn't realise how finely ingrained Apple's OSX workflow was in my mind. I had no problem finding replacement apps, but what was hard was using them and trying to build a comfy desktop environment. Essentially it took me from 2014 til 2018 to transition from OSX specific software to fully open source CLI apps. These days I run Arch and the only GUI app is Chromium. Not counting my i3wm and the lemon bar. It was a fun journey with with some challenging moments!
gurkendoktor
For me: Git Tower, MoneyMoney (German banking app, absolutely fantastic), Fantastical, to some degree also OmniFocus.
Plus first-party apps like Safari with its fluid trackpad gestures, Photos with its iCloud integration, and of course Xcode, because being able to build/debug things for macOS/iOS is a bonus feature I can offer as a developer.
The list is a lot shorter than 10 or 15 years ago. Most new apps that come out are Electron, but even then there's sometimes no Linux port (Trello, WhatsApp).
dkmn
That sounds somewhat resonant. I'd be really curious as to what insights you had or choices you made; considering the same type of switch. Did you ever write anything up on the journey or find any particular resources useful?
gurkendoktor
Not really. I've played it safe by buying a Linux desktop box in addition to my MacBook. elementary OS was fun (esp. the Daily build) because so many things can be fixed on an evening by sending a small PR, and they also receive support from the Touchégg developer now for better trackpad gestures. But I never managed to treat Linux as more than a thin shell around my IntelliJ IDE.
pms
Isn't Sublime Merge a great cross-platform replacement for Git Tower?
gurkendoktor
Thanks. I've tried it when it came out and wasn't really convinced. The video on its homepage looks better now, I'll give it another try when I'm on Linux again.
innocentoldguy
The apps that keep me using Apple products are Scrivener, Logic, Studio One, Final Cut, Photoshop, and Illustrator. There are a few others too.
I also like the integration between my phone and my computer. For example, taking a picture on my phone and having it show up in Photos automatically, the ability to copy and paste between my phone and computer, the ability to make phone calls on my computer, the ability to share browser windows between my phone and computer, and the ability to use my iPad as a second monitor.
I've been using Linux since Slackware's first release, and still use it today, but it isn't my main desktop for these reasons.
sorisos
Ableton live (music application) - the only reason I still have mac. I tried to switch to Bitwig that is similar and runs on linux, but I have not had the time to develop a workflow with it.
AndroidKitKat
I live and die by my IRC Client, Textual [0]. It may seem like a simple thing, but I've tried all the clients on both Windows and Linux and haven't found a suitable replacement.
wirrbel
By now the appeal is a classical desktop user interface that has been micro-optimised for the past decades (instead of rewrites like Gnome).
gurkendoktor
This too. I sometimes boot a PowerPC iMac from 2004 to rip a CD, and it's amazing how little Apple has broken/removed since then, while adding gestures, cloud syncing, and all sorts of tiny quality-of-life improvements.
VTimofeenko
Asking out of inexperience with Mac command line tools ecosystem: outside of CI mentioned in the neighboring comments - are there any tools that could be useful on a desktop Linux?
OnlyMortal
Interesting. I expect the display postscript (now PDF) would be tricky with its compositing in particular.
I doubt Ghostscript would be up to it performance wise as much of the DPS is backed by hardware nowadays.
Anyway, good luck!
duskwuff
> I expect the display postscript (now PDF)...
This is a commonly repeated myth. The Quartz graphics framework does not use PDF internally. Its rendering model is roughly based on PDF, but not much more so than any other vector graphics format, like SVG or Cairo.
Get the top HN stories in your inbox every day.
Has anyone been able to use darling for iOS CI jobs yet? Admittedly I haven't researched this in a while, but one of the biggest hurdles in large scale iOS development is sane DevOps infrastructure. I know due to Apple's TOS that you will never be able to build, sign, and distribute your app on non-Apple hardware. But i'd love to use darling to run unit tests/CI jobs on commodity cloud infrastructure.
Even if you do get dedicated mac instances, managing them is a bit of a nightmare since MacOS isn't designed to be headless.