This extension is for "pure" Swift development, not iOS development. I doubt the latter will ever officially happen. It's possible to make it work for iOS at an unofficial capacity though by hooking into the extension's LSP support. We did this at Spotify to enable iOS development in Cursor for Bazel iOS projects: https://github.com/spotify/sourcekit-bazel-bsp
You do need the Android SDK to build, Android Studio makes things easier (even though the Bazel IDE plugin is a whole other topic itself..) but isn't mandatory to develop or run your app.
Are you sure about that? Flutter development for Android works great in VS Code/Codium. The Android extension [0] for VS Code has also worked fine in the past on a small Java-based App for me.
Android Studio is a probably the best IDE for this usecase but is not the only way.
That's just untrue on the face of it. All of the build tools are open and cross-platform. Is there a specific piece of Android Studio that you require for Android app development?
Incorrect. You can (if you really want to) build an Android app without having any Google tools.
But even if you don't want to do any crazy stuff, Android SDK itself is just a bunch of Gradle scripts and Java apps. You can download and install them without any GUI in the way.
Sorry, but Android and iOS are simply incomparable in their quality. Android SDK is a high-quality tool for developers that provides all the expected interfaces.
iOS SDK is a lock-in GUI hell that requires you to use a shitty macOS-only tool to even _upload_ apps to Apple Store. Never mind doing headless builds in CI/CD. Why that tool is shitty? It uses its own protocol for upload and doesn't do proper PMTU, so if you have a misconfigured MTU somewhere in the chain between you and Apple, uploads will just silently hang.
> Because nobody use Swift outside of iOS app development
Because that isn't true, people do use it outside of iOS app dev, and is becoming more true as time goes on to boot.
It's also a chicken-and-egg problem: no one will use Swift for non-iOS tasks if the tooling support isn't there. The more investment into it, the more it will be picked up for other tasks.
But it's been used outside of Apple-specific things since the early days in various niches.
I hate that I need to create an Apple account (with email and phone verification) just to be able download the sdk to use MacOS APIs. To make things worse I tried for like one hour to create an account and couldn't because for some reason I was no receiving the verification email.
This extension is for "pure" Swift development, not iOS development. I doubt the latter will ever officially happen. It's possible to make it work for iOS at an unofficial capacity though by hooking into the extension's LSP support. We did this at Spotify to enable iOS development in Cursor for Bazel iOS projects: https://github.com/spotify/sourcekit-bazel-bsp
You also can't do Android (app) development outside Android Studio.
As others have stated it's possible, but might be cumbersome.
I made an example of an iOS/Android monorepo with a shared Rust core a few months ago: https://github.com/Antonito/bazel-app-core-native-example/
You do need the Android SDK to build, Android Studio makes things easier (even though the Bazel IDE plugin is a whole other topic itself..) but isn't mandatory to develop or run your app.
Are you sure about that? Flutter development for Android works great in VS Code/Codium. The Android extension [0] for VS Code has also worked fine in the past on a small Java-based App for me.
Android Studio is a probably the best IDE for this usecase but is not the only way.
[0]: https://marketplace.visualstudio.com/items?itemName=adelphes...
That's just untrue on the face of it. All of the build tools are open and cross-platform. Is there a specific piece of Android Studio that you require for Android app development?
3 replies →
Incorrect. You can (if you really want to) build an Android app without having any Google tools.
But even if you don't want to do any crazy stuff, Android SDK itself is just a bunch of Gradle scripts and Java apps. You can download and install them without any GUI in the way.
This is very common in CI/CD environments. Google provides a handy tool for that: https://developer.android.com/tools
Sorry, but Android and iOS are simply incomparable in their quality. Android SDK is a high-quality tool for developers that provides all the expected interfaces.
iOS SDK is a lock-in GUI hell that requires you to use a shitty macOS-only tool to even _upload_ apps to Apple Store. Never mind doing headless builds in CI/CD. Why that tool is shitty? It uses its own protocol for upload and doesn't do proper PMTU, so if you have a misconfigured MTU somewhere in the chain between you and Apple, uploads will just silently hang.
Edit: D'Oh, the correct URL for the sdkmanager is: https://developer.android.com/tools/sdkmanager
7 replies →
what? this is super easy with vim and gradle CLI
What's the point then? Because nobody use Swift outside of iOS app development.
> Because nobody use Swift outside of iOS app development
Because that isn't true, people do use it outside of iOS app dev, and is becoming more true as time goes on to boot.
It's also a chicken-and-egg problem: no one will use Swift for non-iOS tasks if the tooling support isn't there. The more investment into it, the more it will be picked up for other tasks.
But it's been used outside of Apple-specific things since the early days in various niches.
I've been migrating my DikuMUD (originally C) to Swift for years! It's been pretty fun and Swift is a great language for it
No so straightforward, but there is project that parses xcodebuild logs and pass them to lsp to provide LSP for SwiftUI projects https://github.com/SolaWing/xcode-build-server
Also I build extra tooling to facilitate iOS development in VSCode https://github.com/sweetpad-dev/sweetpad
Thanks for your great work on sweetpad. I’ve always been a bit curious where the name came from though.
Sweet=sweeft=swift+pad?
What type of support do you mean? Language checking? Live previews?
I hate that I need to create an Apple account (with email and phone verification) just to be able download the sdk to use MacOS APIs. To make things worse I tried for like one hour to create an account and couldn't because for some reason I was no receiving the verification email.