News for hackers. Stuff that matters.
Re:Apple is now an antifragile company by hardlianotion on Monday August 02, 2021 @04:40AM (#28034285)
>If you want to develop on Mac, you have to use Xcode, you cant use any other tools. So Apple is at a disadvantage.

I don't think that's true even if you consider IDEs that target the OS X frameworks only. Intellij has a product, Flutter targets iOS, I am not an OS X developer but those two jump out straight away.

As for developing on Mac - it's a Unix & so a very capable development tool to target a range of platforms.

Re:Apple is now an antifragile company by toshk on Monday August 02, 2021 @05:08AM (#28034459)
Even though you can develop in Flutter, you still need xcode tools to build the apps, even if you can mostly skip the IDE.
Re:Apple is now an antifragile company by rgbrenner on Monday August 02, 2021 @05:20AM (#28034526)
We should differentiate between Xcode the ide and Xcode tools, which are just git, clang, etc. The tools aren’t apple’s product.

In Linux they would have been separate packages, but I don’t think the App Store has dependencies so how else are they going to get the required packages installed for their ide.

Re:Apple is now an antifragile company by toshk on Monday August 02, 2021 @06:31AM (#28034917)
In this case the argument is focused on Apple forcing you into their ecosystem. Even though some packages might be generic, Xcode tools & codesign wont run and build on another OS then MacOS.
Re:Apple is now an antifragile company by jen20 on Monday August 02, 2021 @06:44AM (#28035002)
This is just like saying clang compiled for Linux won’t run on Windows [1].

[1]: Yes, I know about WSL. No, that doesn’t count.

Re:Apple is now an antifragile company by simiones on Monday August 02, 2021 @06:58AM (#28035090)
It's not: for any other OS, you can develop and compile on whichever other OS you want. Sure, MSVC won't run on Linux, but you can just compile it with clang or GCC on Linux and target Windows. There is no way to do that for iOS.

And this is not because no one wants to write a backend to target iOS, it's because Apple won't allow it. If you want to run native code on iOS, it must be built and signed with XCode on a Mac.

Re:Apple is now an antifragile company by pjmlp on Monday August 02, 2021 @07:24AM (#28035251)
Try to create a UWP application or Windows service, or do any kind of debugging or ETW monitoring, like that.
Re:Apple is now an antifragile company by simiones on Monday August 02, 2021 @09:25AM (#28036199)
Fair enough with UWP. Might be one of the many reasons no one uses it...

I will still note that debugging and monitoring are usually not going to work cross-platform - try to log to journalfs from a Windows system (wihtout using MinGW or similar).

Re:Apple is now an antifragile company by pjmlp on Monday August 02, 2021 @10:27AM (#28036939)
Plenty of people use it, they don't need help from Linux devs trying to cross compile applications without any tooling for UI/UX.
Re:Apple is now an antifragile company by layoutIfNeeded on Monday August 02, 2021 @05:35AM (#28034608)
You only need clang and codesign to build an app.
Re:Apple is now an antifragile company by h0l0cube on Monday August 02, 2021 @05:55AM (#28034730)
If it were actually this simple in practice I wouldn't be jumping between AppCode and Xcode all the time
Re:Apple is now an antifragile company by layoutIfNeeded on Monday August 02, 2021 @08:29AM (#28035681)
Could you provide a few examples from your workflow that requires you to open Xcode?
Re:Apple is now an antifragile company by h0l0cube on Tuesday August 03, 2021 @01:04AM (#28045874)
If you want to do real-world things, like change your project settings across different compilation targets (AppCode has a buggy/incomplete settings interface that can't be trusted), use the interface builder (inc. previewing your UI, inc. creating/editing the UI if you're not using SwiftUI), debugging the UI hierarchy, performance profiling, etc., you'll be switching over to Xcode. Once again, in theory you could just have everything running off whatever `make` toolchain you prefer, but if you're making apps for a company, and sharing code with other team members, chances are your exotic setup isn't going to cut it.
Re:Apple is now an antifragile company by andrekandre on Monday August 02, 2021 @06:36PM (#28043553)
i think people might be conflating needing to install xcode vs launching xcode

if you want to build ios apps installing xcode is a requirement (to get the proprietary cli tools) but launching xcode is not required

to build native mac apps, neither installing nor running xcode is necessary, as you can build with the smaller cli-only tools which include only mac os headers/libs

Re:Apple is now an antifragile company by tcmart14 on Monday August 02, 2021 @06:33AM (#28034936)
As was mentioned here, xcode is not a requirement. I manage my development tools on Big Sur with NetBSD's pkgsrc via pkgin.
Re:Apple is now an antifragile company by bottled_poe on Monday August 02, 2021 @08:52AM (#28035842)
Not strictly required, but practically implied.
Re:Apple is now an antifragile company by saagarjha on Monday August 02, 2021 @05:40AM (#28034637)
Developing good software for Apple's platforms without Xcode remains an unsolved problem.
Re:Apple is now an antifragile company by pjmlp on Monday August 02, 2021 @05:17AM (#28034519)
Anyone that has written portable UNIX software knows why stuff like autoconf even exists, targeting POSIX is just like trying to make HTML/CSS/JS, it works as long as everyone uses Chrome, sorry GNU/Linux.

As for those IDEs, they are a subpar experience of what the whole AppFrameworks are capable of, just like Borland of yore always playing catch up with Windows SDKs.

Re:Apple is now an antifragile company by MayeulC on Monday August 02, 2021 @05:35AM (#28034612)
> Targeting POSIX is just like trying to make HTML/CSS/JS, it works as long as everyone uses Chrome, sorry GNU/Linux.

That's a bad analogy IMO. GNU/Linux is mostly POSIX compliant. There are some edge cases one runs into with C programming, but if talking about shell scripting, sticking to POSIX is definitely more portable. Bash would be a chrome equivalent, otherwise it's like targeting a subset of what every browser can do. Testing against Busybox/musl (Alpine) is a good way to assess portability.

Re:Apple is now an antifragile company by lmm on Monday August 02, 2021 @09:05AM (#28035974)
As a FreeBSD user, I don't think I ever had a C program that didn't advertise being tested on FreeBSD work first time. There's no test suite to verify that you've used only the POSIX subset of what Linux provides, and it's not something you're going to get right solely by trying, no matter how careful a programmer you are.
Re:Apple is now an antifragile company by pjmlp on Monday August 02, 2021 @05:57AM (#28034741)
Try to fork in a POSIX compliant way an application using signals and threads, across several UNIX implementations.

Or asynchronous network programming with certificates, while using only POSIX APIs.

Dealing with filesystem capabilities, file locations, daemon configurations, port management utilities,...

Ah, and anything GUI related is not even part of POSIX.