Live data from Hacker News

Swift at Apple: Migrating the Password Monitoring Service from Java

swift.org

41–50 of 235 posts

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#41
post #23

Very interesting. I wish they had gone into a little more detail about the other technologies involved. Was the Java Service in Spring (boot)? What other technologies were considerd? I'd assume Go was among them. Was it just the fact that Go's type system is to simplistic or what were the other factors?

Swift is Apple's own language. They have all the experts from lowest to highest level .

Writing a long winded report/article for fair technical evaluation of competing technologies would utter waste of time and no one would believe if answer were still Swift.

> I'd assume Go was among them. ...

I don't see any reason to evaluate Go at all.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#42
post #5

> In comparison with the previous Java service, the updated backend delivers a 40% increase in performance, along with improved scalability, security, and availability. As is always the case with such rewrites, the big question is whether the improvements came from the choice of language or because they updated a crusty legacy codebase and fixed bugs/bottlenecks.

I love to always see such comments. On JVM you use crap like Spring and over-engineer everything. 20 types, interfaces and objects to keep single string in memory. JVM also like memory, but can be tailored to look okayish, still worse than opponents.

And I'm 100% sure you can do the same in Swift.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#43
post #36
post #26

Earlier quoted context omitted.

Xcode is probably like, one of the top… 3? 5? biggest macOS-native applications in the world. Making it cross-platform would require either reimplementing it from scratch, or doing a Safari-on-Windows level of shenanigans of reimplementing AppKit on other platforms.

Xcode on Windows/Linux would be wacky and not worth the effort - it's very tightly coupled to MacOS so effectively impossible imho. People targeting MacOS/iOS aren't typically running Windows on the desktop. The more critical thing to meeting developers where they are would be for the entire developer loop to be doable from a JetBrains IDE on MacOS.

> People targeting MacOS/iOS aren't typically running Windows on the desktop.

Or if they are, they're treating macOS/iOS as “blind targets” where those platforms are rarely if ever QA’d or dogfooded.

> The more critical thing to meeting developers where they are would be for the entire developer loop to be doable from a JetBrains IDE on MacOS.

I think most current Apple platform devs would be happiest if they were equipped with the tools to build their own IDEs/toolchains/etc, so e.g. Panic's Nova could feasibly have an iOS/macOS/etc dev plugin or someone could turn Sublime Text into a minimalistic Apple platform IDE. JetBrains IDEs certainly have a wide following but among the longtime Mac user devs in particular they’re not seen as quite the panacea they’re presented as in the larger dev community.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#44

> One of the challenges faced by our Java service was its inability to quickly provision and decommission instances due to the overhead of the JVM. ... To efficiently manage this, we aim to scale down when demand is low and scale up as demand peaks in different regions. but this seems to be a totally asynchronous service with extremely liberal latency requirements: > On a regular interval, Password Monitoring checks…

[deleted]

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#45
post #24

I've always wondered a slight amount as to why larger enterprises (which have the resources to hire specialists) don't hire people with expertise in say things like Rust, or Elixir/Phoenix? It's one thing to say that we want to hire commonly available developers like in Java or C#, but if you have a long term plan and execution strategy, why not pick technology that may pay off larger dividends? ITT: I get why they c…

It’s because Java and c# are so commoditised we don’t have to pay people as much.

Also it’s about short term balance sheet not long term product management in the SME and small SaaS space. I don’t think anyone other then the developers give a shit.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#47
post #41
post #23

Very interesting. I wish they had gone into a little more detail about the other technologies involved. Was the Java Service in Spring (boot)? What other technologies were considerd? I'd assume Go was among them. Was it just the fact that Go's type system is to simplistic or what were the other factors?

Swift is Apple's own language. They have all the experts from lowest to highest level . Writing a long winded report/article for fair technical evaluation of competing technologies would utter waste of time and no one would believe if answer were still Swift. > I'd assume Go was among them. ... I don't see any reason to evaluate Go at all.

> I don't see any reason to evaluate Go at all.

https://devblogs.microsoft.com/typescript/typescript-native-...

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#48
I understand there may be some bias in this article, but the resource usage improvements are hard to ignore for a company that pays for cloud compute/memory usage.

I'm gonna look into server-side Swift.

Looks like it'll take some fiddling to find the right non-xcode tools approach for developing on linux.

I prefer Jetbrains tools over VSCode, if anyone has any hints in that direction.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#49
post #15

Any idea of what the server platform is? Linux?

It's well-known Apple is a big RHEL customer, including Linux on Azure, lending credence to the saying that every Mac is built upon Windows (Hyper-V).

Fairly certain the iTunes store, their web store, etc. are all built upon enterprise Linux as well.

And there's nothing wrong with that. Use the best tool for the job. Most car owners have never looked in the engine compartment.

Re: Swift at Apple: Migrating the Password Monitoring Service from Java

#50
post #5

> In comparison with the previous Java service, the updated backend delivers a 40% increase in performance, along with improved scalability, security, and availability. As is always the case with such rewrites, the big question is whether the improvements came from the choice of language or because they updated a crusty legacy codebase and fixed bugs/bottlenecks.

Yes! The post would have been much more informative if it did an in-depth analysis of where the performance gain comes from. But Apple being Apple, I don't think they'll ever want to expose details on their internal systems, and we probably can only get such hand wavy statements.
Post reply on HN