iOS Dev Weekly - iOS Dev Weekly - Issue 569

Where would you write Swift code without Xcode? TextEdit? 👎 Microsoft Word? 👎 Or 

 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 569  July 29th 2022

 
Comment

  Comment  

 

I’ve been meaning to check out the Swift for Visual Studio Code plugin by Adam Fowler and other members of the Swift Server Workgroup since I read this post on the Swift.org blog published a couple of weeks ago. I finally made some time to do it this week.

Adam goes through the extension’s features in his post, and they all sound great! Auto-configuration for Debug and Release builds in SwiftPM projects, a view that shows package dependencies, LSP support, LLDB support, test explorer and multi-project workspaces.

But the post doesn’t do the experience of opening up VS Code, installing an extension with a couple of clicks, and instantly having it understand your Swift project. Syntax highlighting and code completion just work, of course, but then you’ll dive a little deeper and notice quick help popping up as you hover over symbols. You might right-click and wonder if the temptingly titled “Go to Definition” menu option works. Yep, it does. It’ll even navigate into your dependencies. This shouldn’t be surprising. VS Code supports many different languages, but it feels unusual with Swift, which until now has been the domain of Xcode or Swift Playgrounds.

I ran the project’s tests and watched hundreds of ticks turn green in a sidebar. Then, I launched my project, which dropped me into an interactive debugging session with everything I could have wished for from Xcode. Watch variables, a sensible call stack, conditional breakpoints, and access to the LLDB console. It’s impressive.

Incredibly, all of this came without any custom configuration. I just installed the extension and opened my project.

Of course, Xcode also supports all these features! So why should you care? First, it’s interesting to see how initiatives like SourceKitLSP take Swift to new places. But this development environment can also do things that would be significantly more challenging with Xcode. Take a look at the docs for “remote development”. If you’re developing code on Linux, you’ll want to run your code on Linux, too! With remote development, you can add a small config file and switch between running your code locally and executing it inside a Docker container running Linux in a couple of clicks. If you want to try this out, Sven Schmidt recently wrote a simple tutorial covering this feature. That’s really fiddly to set up without a tool like this.

None of this is a replacement for Xcode, and it’s not intended to be! However, if you’ve been holding off on trying Swift on Linux until the tooling improved. It has. Drastically. Even if you’ve only a passing interest in Swift on other platforms, the experience is so good I’d recommend checking it out.

Dave Verwer

 
 

  Sponsored Link  

 

Start automating tests with Waldo today (14 days free)

Waldo is end-to-end mobile testing done right. Easily create and maintain automated tests without worrying about reliability. Catch and fix bugs earlier in your development life cycle without the pains of scripting or manual testing. Join industry leaders like AllTrails, Lemonade, and Truebill and start your 14-day free trial today!

waldo.com

 
 
 

  News  

 

Live Activities now available in beta

Live Activities are (or will be) always up-to-date notifications for the Lock Screen, and as of this week’s betas, you can start working with them! Here’s a handy article to get you started. Try to keep your code for them as separate as possible, though, as you’ll need to ship your iOS 16 update before this feature becomes available for the general public.

apple.com

 
 

  Code  

 

Eager Grids with SwiftUI

There’s no other way to introduce this post from Javier Nigro other than to say it has everything I ever wanted to know about SwiftUI grid alignment, spacing, and layout. The Grid Trainer app he includes is excellent, too. Thank you, Javier!

swiftui-lab.com

 

SafeURL

Jhonatan A took inspiration from this tweet from John Sundell and wondered if he could make it a reality. With some StaticString mixed with some plugin magic, you may never need to write another guard let on URL again!

Note: I normally don’t link to any open-source code that doesn’t have a license, but I’m sure this is just an oversight that Jhonatan will correct quickly. Always check the license before adding a package, though!

swiftpackageindex.com

 

TDD Is About Writing Counter-Factual Statements

Let’s finish this week’s Code section with this post from Christian Tietze. It’s right there in the title, but I enjoyed this way of thinking about what a test is when doing TDD.

You turn a lie into the truth, a thought-experiment into reality.

christiantietze.de

 

View Is The View Model

Do you need view models if you’re working with SwiftUI? Mohammad Azam makes the case in this post that you may not. Beware of anyone making sweeping statements about app architecture (it’s one reason I rarely include architecture-focused posts), but this post is worth a read for the references to WPF!

azamsharp.com

 
 

  Jobs  

 

MacOS/iOS Developer @ DeepL – DeepL is hiring! Want to join the team behind the internet's most powerful translation engine? We are seeking an experienced MacOS/iOs developer to join our Native Apps team, on a fully remote basis. – Remote (within European timezones)

Senior iOS Software Engineer @ Cambridge Mobile Telematics – Cambridge Mobile Telematics (CMT) is on a mission to make the world’s roads and drivers safer. We measure driving quality, incentivize safer driving, assist users in crashes in real-time, and improve safety for millions of drivers every day around the world. – Remote (within US timezones) or on-site (United States in MA)

 

There may only be a couple of featured jobs from iOS Dev Jobs above, but there are plenty more over on the site itself. They’re in the apps, too!

 
 

  And finally...  

 

Ever wanted to see what the Apple Store at the Infinite Loop campus looked like after its redesign in 2015 or how the first ever Apple Store in Stanford looked in 2001? Shop different. 😍


I don’t usually write much in the And Finally
 I love the power of saying, “Trust me, click this. It’s worth your time”, but I had such a visceral reaction to this app that I had to say more. I bought my first Mac in San Diego in 2006, but as soon as I loaded up the Stanford store from 2001 in this app, I was transported back in time. I walked straight over to the left-hand side where I bought my Mac, and there were the PowerBook machines. They also had the exact coffee mug that I still drink coffee out of in the Infinite Loop store. I couldn’t help wishing it had the Infinite Loop store before the modernisation, where the shirts and other clothing were in a special section on the left-hand side as you walked in. It wasn’t as pretty as the newer stores, but it had charm.

This project from Michael Steeber has incredible attention to detail. Trust me, click this. It’s worth your time.

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 
©2022 iOS Dev Weekly | Privacy Policy | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 568

Friday, July 22, 2022

To embrace or resist the new wave of AI-based APIs. That is the question! 🤖🖼 View on the Web Archives ISSUE 568 July 22nd 2022 Comment Did you see Steve Troughton-Smith's experiments using

iOS Dev Weekly - Issue 567

Friday, July 15, 2022

Thank you for all of your help and support helping to make sure the Package Index is sustainable 🙏😍 View on the Web Archives ISSUE 567 July 15th 2022 Comment First up this week, I want to thank you all

iOS Dev Weekly - Issue 566

Friday, July 8, 2022

We need some help making sure the Swift Package Index is around for the long term? Can you help? 🙏 View on the Web Archives ISSUE 566 July 8th 2022 Comment I was going to start this week's issue

iOS Dev Weekly - Issue 565

Friday, July 1, 2022

How do you like to format your code? I like mine formatted automatically! 🤖 View on the Web Archives ISSUE 565 July 1st 2022 Comment I've seen a few people talking positively about Xcode 14's

iOS Dev Weekly - Issue 564

Friday, June 24, 2022

Discoverability and Siri. What's the answer? 🤷‍♂️ View on the Web Archives ISSUE 564 June 24th 2022 Comment I know this is a bit of an NSHipster move, but a new API from last week's WWDC has

You Might Also Like

Berliner Goes Tabloid 🤬

Thursday, April 18, 2024

The movie that perfectly explains what that NPR editor did. Here's a version for your browser. Hunting for the end of the long tail • April 17, 2024 Berliner Goes Tabloid Considering the tale of

Tuesday Triage #196

Wednesday, April 17, 2024

Your weekly crème de la crème of the Internet is here! The 196th edition featuring Naismith's rule, cow magnet, and Little Sparta. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Atlas humanoid robot goes electric 

Wednesday, April 17, 2024

Meta goes back to the drawing board and Tesla does some advertising View this email online in your browser By Christine Hall Wednesday, April 17, 2024 Good afternoon, and welcome to your Hump Day

📞 1990s Technology We Still Use Today — How to Fix Google Maps When It's Not Working

Wednesday, April 17, 2024

Also: Why You Should Buy Last Year's Flagship TV, and More! How-To Geek Logo April 17, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Today only: Join Incubator to get these bonuses

Wednesday, April 17, 2024

I'll work with you personally in a small group ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

JSK Daily for Apr 17, 2024

Wednesday, April 17, 2024

JSK Daily for Apr 17, 2024 View this email in your browser A community curated daily e-mail of JavaScript news React useState Vs. Context API: When to Use Them React has improved its state management

Daily Coding Problem: Problem #1415 [Easy]

Wednesday, April 17, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Stripe. Write a function to flatten a nested dictionary. Namespace the keys with a

⚙️ Workplace AI

Wednesday, April 17, 2024

Plus: Amazon Music just copy pasted Spotify ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Charted | The World's Biggest Nuclear Energy Producers ⚡

Wednesday, April 17, 2024

China has grown its nuclear capacity over the last decade, now ranking second on the list of top nuclear energy producers. View Online | Subscribe Presented by: FEATURED STORY The World's Biggest

You’re invited: 2024 Security report insights webinar

Wednesday, April 17, 2024

Join us April 25th. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏