Live data from Hacker News

Why Apple’s new M1 chips are essential for rapid iOS development

doordash.engineering

71–80 of 135 posts

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#71
post #17

I had to laugh at the opening: "The tools are largely free", except the bare minimum to develop for ios is a mac and the apple developer account (if you ever expect to publish your app). And a significant subset of functionality only works on physical devices and not emulators. If you don't already have the mac and iphone, you're looking at $600 for a used macbook air, ~$300 for a used 2 generations old iphone, and $…

Just reading the replies to this thread it's unbelievable how out of touch people are with how software development happens in most of the world. I can guarantee that there are many companies in India where the entire engineering department has less than $1000 worth of hardware combined.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#72
post #8

"Based on rough usage patterns, we assumed an average iOS engineer does around five clean builds and 30 incremental builds each day..." ...wait, what? I know YMMW, but for me and most of my colleagues it's 1-2 clean build per day and 30 incremental... per hour, sometimes. "...In parallel with our modularization effort, we’re also adopting new technologies like SwiftUI and Xcode Previews. These technologies allow us t…

30 incremental builds an hour doesn't sound like a good process to me. Personally I find if I am building too often I'm not thinking about what I am doing enough and I'm just throwing things at a wall hoping they'll stick/work. A good software process involves a lot of thinking, a medium amount of typing, a small amount of compiling. I understand that sometimes the ideal and the reality are different of course.

Have you worked with SwiftUI or Jetpack Compose? The new tooling for mobile development requires basically building the app to simulate the layout engine. And when you're building interfaces, ideally you want < 1 second updates so you can tweak things that don't lend themselves perfectly to foresight and analytical thinking - you just need feedback. Jetpack Compose in particular is atrociously slow. When was taking 10 seconds before Android Studio would register my keypresses, I knew it was time to upgrade to M1.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#73
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

Developer happiness. Same reason my company doesn't make me fly economy when I travel. A cheap laptop says "drone on, you drones." A nice laptop says "we want you to be happy here."

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#74
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

Having your entire codebase and build process running on the machine in front of you has a lot of other efficiencies that an external cluster takes away. What about the overhead of syncing your code to the server every time you make a change, and getting the binaries back to test? What if you want to work from outside the office? What if the network connection is bad?

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#75
post #15

Earlier quoted context omitted.

Sounds like it went through the software rendering path...

You are correct. It is frustrating because clearly it can be hardware accelerated, just Apple hasn't really bothered themselves to do this

I was under the impression that OpenGL on M1 devices just passes through to Metal at this point.

Does OpenGL ES not get this treatment...?

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#76
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

Build cluster is necessary for CI, but using it in place of local builds sucks from the developer perspective, especially when working remotely or when the build queue is stacked or when the scheduler randomly takes a dump and you need a sysadmin to kick something.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#77
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

16" MBP with M1 Max is the best performing Apple computer available, according to GeekBench. Some Mac Pro configurations outperform on multi-core benchmarks, but those start at $6,500 for rack mounted configurations.

The new MBPs are incredible machines and worth the money in engineer productivity. for an iOS engineer, I'm not sure of a better set up from Apple's current line up.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#78
post #24

Earlier quoted context omitted.

Yeah that's about it. What I find really offensive, which my Mac likes to remind me of regularly on the energy usage side of things, is the siloed vats of excrement that JavaScript, Browsers and Electron have enabled. These are absolutely horrible to use compared to native applications and each one has its own ozone hole above it. If I don't open a browser or Electron app my battery lasts 2x as long. I do the occasio…

Teams is the worst offender: it will single-handedly cycle my battery on a medium-long video call. That’s just battery usage, not even touching on general performance, how buggy the app is in general.

Honestly the worst performing app ive ever used in my life. It makes any machine running it slow as shit.

When someone is sharing video / screen share its even worse.

I absoutely cannot fathom how it passes any form of QA.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#79
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

Yea let me build a binary on the server to pull down and download to run on my phone.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#80
post #59

Earlier quoted context omitted.

> Is there any reason for an iOS app build to take 8+ minutes to begin with? The speedup isn't limited to iOS app builds. For instance, at Reddit: >We recently found that the new 2021 M1 MacBooks cut our Android build times in half. https://twitter.com/softwarejameson/status/14559711620606976...

I guess Wirth was still not cynical enough because even he couldn't foresee that developers would deliberately break and degrade a working, fast application (namely, the website experience) just so they can go and write two separate, bloated applications that do somewhat the same but not really. Only to then complain about build times of applications that didn't need to exist in the first place.

Developers dont make those choices.
Post reply on HN