But one thing that stuck out to me because it really hit close to home in. That is an article by Curtis her bear who's developer of the slopes app. Is it her bad? I don't know Herbert boy. It's difficult because like, you know Stephen Colbert. I don't know. That's I when I saw his name, I thought of like the ice cream sure bear sorbet or sherbet. I don't know. Well surely your Americans, you know, perhaps a Haitian herb to you. It's herb. Yeah. Yeah, you know, it sounds French. He's good. This herb are Welcome to season 1 episode 17 of the Swift over coffee podcast. I'm for Hudson, and I'm Shaun Allen. I think MIT. It feels to me like it's been forever since the last episode. I forgot we even had a podcast. It's been it's been that long because we so the to fill everybody in we did a live episode while we were together in London at the end of March in we did that like three Days after we released the previous episode and we do this once every two weeks. So it's been over three weeks since we've recorded. Yeah, it was hard last time because we haven't had a lot of news happening since the previous previous episode and now it's been like three weeks. There's so much news happens is right, right. Let's do some perhaps do weekly podcasts now Sean. Yeah, but we're back to normal now and of course, we've been through some important times. I believe you are approaching the end of your job search. Hopefully question mark well the beginning of the a right. Yeah. So I have a today is April 14th. We're recording this. I have all my final on-site interviews lined up for over the next two weeks. I'll be doing about four different interviews. So anybody that's done some of those final on-site interviews, you know, the 6-hour ones where you even have a lunch break in between, you know, those can be grueling. So that's what my next two weeks look like. All right, Paul as always it's time for some news and it feels like this happened a long time ago. But again, we haven't had a chance. To talk about it. And that is Swift 5 has officially been released and it's a little weird. I think this is the first major Swift release like a swift three Swift for that was kind of done unceremonious lie, you know, it wasn't attached to a major iOS 13 iOS 12 or yeah, I'm getting ahead of myself and I was 11 or an iOS 12, but I think that's a welcome change. Once again, it is worth saying that I am really glad Apple able to push backs with five. So it's not attached to a major OS bump. Was always a bit of a strange thing, you know, we've got to have new iPhones. Therefore go to have new OS what-have-you ex-gogol have new Swift all at once. It made no sense. This was obviously hard work. There's pushback from Swift through the force of five. They took their time getting it right and I'm just so grateful for that. Have you actually started porting? Kodo? So five now Sean? Yeah. I did that a couple days after releasing. It's kind of funny how I mentioned it was done like unceremonious lie, like of course, I saw it on Twitter, but at work I was like, oh, yeah, I forgot. So if 5 is out, you know, I just had completely forgot about it. So that's why A couple days late, but it was super easy smooth sailing. I had some minor issues with some third-party libraries that aren't updated but that was pretty easy to fix and you know, it doesn't have to do with my Swift source code. So everything was all good. The only thing is like nothing in Swift 5. I'm like immediately jumping to start using, you know, because in Swift 4.2, how is all over hashtag warning? Hashtag are I use that profusely definitely switched over to you know dot toggle and Dot random. Nothing in Swift five is like I'm using like Ideally that I couldn't wait for what how about you. So I moved over all my coat even before we release, you know, I have no patience old code but as you said it wasn't hard, right, you know, I guess it wasn't attached to a dub dub DC. So wasn't any overlay changes. So no apis are being updated to have the new result type for example, and even even like last year's 4.2 release. They added the little dots everywhere. You know, you application dot launch options. Nsattributedstring dot key cathing. Yeah. I'm enjoying little things though, you know the fact that The new conditional try flattens nested optionals is small but it really nice moving on. We have a bunch of proposals that were in review and you know, a lot of them we've talked about on previous episodes. So, you know, if you're new to Swift over coffee go back and check those out but they are finally now accepted into the Swift language and there's a lot of them. So we're just going to kind of list them off real quick sec 0 2 4 6 generic math functions that God accepted with a small modification you no longer have to write import math at the top of your file you just get It by default. I see zero two four nine key path Expressions as functions and SE zero to five to keep half member look up both of those are accepted and one more. We'll talk a little bit about was SE 0 2 4 8 string gaps in missing apis and what this is it's basically nine new methods and properties that fill in some commonly encountered gaps in missing functionality for Strings and its various types. It's purely additive and you know developers were, you know, creating their own versions of these methods and stuff for these trivial death. Shins but don't know longer have to do that is includes things like apis on unicode's various and Coatings to generic initializers for stringy to cease and range of indices. You know, I personally haven't had to use these you know additions but I like the Swift is adding methods and properties to fill these gaps when I saw that proposal SEO two four eight. It was just after I'd read the in patches blog post by the Advent of code where talked about going through this Challenge Series, basically of all problems being solved and EU swiftrage. For them and it was fascinating because these things were trivial to solve in Python Ruby JSP, whatever but very very hard to solve in Swift because of gaps in apis mostly around strings and I thought oh antastic they would Lightning Fast they're going to fill in these gaps at these things in and it's not it's it's it's fairly Niche level things. I've never had to worry about I now have never got to worry about slightly better. I guess but it hasn't fixed. The fundamental issues that in runs into and that's frustrating and I hope they'll Circle back to this again with the Sea called, you know episode 2. Yeah, exactly, right? Maybe my episode 9 Little Star Wars reference in there anyway, and now here are ones that are still in review. And first we got SE zero two five seven allowing comments from multi-line expression list, and this is very very small thing. But you know how if you have a function name? A lot of parameters and each parameter has a comma on it. But if you hit return to take it to a new line This is proposing that if it's on a new line, you don't have to have the comma. How do you feel about this ball will get what get it we're gonna have to see this is a tiny tiny tiny change. It couldn't get much more on this remove comma use a line break to avoid visual clutter. That's it. That's the entire change but It's so challenging because of always had commas here for these kinds of things. You know, when you do you print a b and c it always a comma B comma C. We make an array of five things. It's a comma B comma C comma D. We're just used to that and it's like an argument from tradition the worst kind of logical fallacy. It's I know it's wrong but had them by entire prayer in career. I'm so used to them right but seeing with without it. I see immediately compile errors in my head. That's not gonna work. No II like it for one. I like the clean look of it. You put it on a new line get rid of those useless comments just like getting rid of those semicolons, right? It's kind of the same thing a little bit but I think where we differ here and this I think is kind of interesting because maybe various people in the audience will side with you versus siding with me is like you said, you've been programming for 20 plus years and this is how you've always done it. Whereas I'm like I call a swift baby. I've grown up a swift. So I'm I'm used to things rapidly changing all the A time so I'm not I'm not afraid not. No, I should say not afraid of change, but I'm not against change. So I like this it's one of those places where I'm used to the idea of white space in Swift as being inconsequential nearly always there are a few places where it's required like around operators. You have white space there for example, but otherwise, I don't really care and so if I add some code with a comma B comma C comma D and I insert line breaks in there, I'd expect nothing to change and it wouldn't change that this change either but it doesn't work the other way around. Around if I remove the line breaks and go to a single line act up reinsert commas, because they required now when they weren't required before so it makes white space slightly more meaningful in a way. I'm not used to in Apple's platforms, but honestly, I expect it's like an incurable and you had the iPhone 4 4 S and the five came out and it was like this feels weird liebig it felt huge and now it feels like a child's toy in my head 6 came out and it's like I think he found out it was huge at the time. I've got the Now so it can't go back anymore. And that's just the way things go in it and in six months time when this is finally approved. I think it will go through personally. There is being quite heavily argued in the forum's quite frankly if it happens when we change it'll look weird going back. Yeah in similarly s e 0 2 5 5 implicit returns from single expression functions is room, you know continuing the trend of removing some syntax here. So what this is anytime you have a function and there's only one line. Where you're just like we're so if you have a function that takes in 2 ins, you know A and B, and it returns a plus b and returns an inch and it's only one line This is proposing that you no longer have to have the return keyword in front of that. So more getting rid of it and we're talking about getting rid of syntax and I don't know how I feel about this change, but I'm kind of wondering like where do we draw the line, you know here like how much are we going to remove before it gets ridiculous in this case what we're seeing is harmonization. Because effectively What's Happening Here is it's only one line in the function the function must return something there for that one line must be the one to return something. It's simple, you know deduction, right and that same thing is applied to closures closes do have implicit return key words. We're going to say, you know dollar zero dot name whatever and it knows it means return dot 0 dot name what's in the automatically so we already have half the functionality. So even though it's weird seeing it. You know with four functions full-on functions, at least it rounds out that are a little bit makes it consistently odd, which I think is better than being if you could easily argue no fair point Fair Point wrapping up the new section. We have se0 250 the Swift Code Style Guidelines in for matter. Everyone's favorite. You're right and it's now closed discussion closed. We're no longer talking about it ever again right wrong. But anyway, it had 221 replies in the Swift Forum which crazy and a little bit divisive. I'm kind of I'm interesting to see how this This plays out not many people are saying math right realistically a lot of folks love it, but folks hate it and very people who people in the middle and that's just how it's going to be because it's is basically have an opinion piece. This is not make the language any better. It does enable things you couldn't do before it's all subjective discussion about opinion. It's all what do you feel? How do you think and that's going to make arguments? Yay, and we're about to find out very very soon because it's in review and we should have a decision in the next Couple days, so maybe we'll get my bag of popcorn ready and get the drama going. We'll see how this goes. I'm reaching for it. I can't wait. Next up we have our picks for the episode. What do you got for us Paul? So this time we really in a school by TechCrunch, which I think is interesting in a number of places. It goes on a range of topics with varying degrees of accuracy But ultimately, it's TechCrunch. So it's going to get a lot of readers regards of its accuracy if people believe what they want to believe it's called with a native app developers and it makes a number of points some of which are just bluntly anecdotal at best. For example The all kicked off by saying it's much easier to hire at the pers now than it was two years ago, which I don't know. Maybe that's true. Maybe it's a result of more Swift letters now getting on to professional jobs. I don't know. I think this is a case of like the Unstoppable Force meeting the immovable object kind of thing because if you talk to companies here, especially in San Francisco Silicon Valley, like I've been talking to a few lately in my interviews, they say it's so hard to hire, you know app developers and then you talk to you know, some Junior developers coming up. The Swift owners say it's so hard to find a job. So like, you know, one of these things has to be wrong, right? Yeah. It's about to that horrible Junior hiring fantasy. No one wants to hire Juniors and this is not possible. Right? Right. Well Juniors got to be some senior somehow, right? Yeah. There are also says that app downloads had a poultry air quotes 5% increase between 2016-2018. But Revenue went up by 70 percent which is all that matters to me quite frankly mean downloads. Interesting, you know volume of stuff interesting but making money off. This is what we're trying to do in the first place realistically and that's a massive number 70% We think that the actual has been out for what seven years by that point. Yeah, you know, it's still going up 70% across those two years. Yeah, and I agree with you on this one. And this is the problem with using percentages obviously right 5% app growth in 2016, you know in 2016-2018 like the app stores already saturated in matures, right? There's they stopped even saying the number at You WDC, you know these to say how many millions in the app store or whatever they stopped even saying that because it was ridiculous the big sign check, right? But that yeah, yeah. Yeah how much money they've paid out? Yeah. So the point is as the number gets crazy large obviously, their percentage increase is going to be smaller and smaller and smaller. But like I said Paul 70% Revenue increase that's the bottom line. That's all that matters. The number of apps in the app store has been flat for the last two years. I say and the blame their gift to this is bizarre. It's more stringent Apple. View standards. I thought if anything happens become more relaxed we're seeing in fact Dave vo recently canceled his app review times site because now no longer interesting anymore is like hell a day after a few hours, you know, it was three weeks and weeks. Sometimes I always thought it was because more apps being removed because they were too busy to have new device supporting similar. Yeah. Yeah in in also, I mean your points were very very valid. Another thing to think about too is like I mentioned I think you know, the Gold Rush has been over for a long time. You know people aren't just pumping out 10 apps and hoping one of them sticks, you know, you have to be more focused on one app. So I think that comes into play as well and finally they Round Up by saying I've feed at least slightly uneasy about going all-in at a specialist app developer if I was early in my career and that's just like the antithesis of what I believe like I can never agree with Don says that sort of thing and it doesn't I don't really care. Okay whether you choose Swift or python or JavaScript or Ruby or HB, I don't care even Pearl if you have to does it matter what area you choose but go all in on something it's not the language that matters right? It's your ability to think in a very high level in that language if you always are a newbie at Swift and Python and Ruby and did it. I never really progressed to you no more advanced levels of serious language features, you're never going to really get to think at least higher levels these architectural levels and you're missing out. I think yeah in those skills are transferable from language to language. Exactly. The other thing here is that and I say this all the time that me because I've said I've specialized in Swift I've gone all-in on Swift but I don't look at that as all in on app development. I look at that as I'm all in on Apple platforms. Now, is there a guarantee apples going to be around in 10-15 years? No, but that's a pretty good bet that apples not really going to go anywhere. So whatever their next platform is a rvr voice cars blockchain, whatever they do you can bet they're going to use Swift to develop on it. So I'm perfectly fine. Tying my career to Apple. So all in all a bit of a strange article, but I say it's gonna get a lot of views to want to dress a here and discuss it but I just don't think it really holds up visit much scrutiny. It's a necessary thing because I know like I've seen articles like this and YouTube videos like this and it usually always just floods my DMs and emails people asking me like, is this real? Should I be doing this? Should I be learning Swift's? Oh fuck. Yeah. Oh, yeah. It's the whole react native flutter. There's like a new new hot thing, you know every year so not a will see every three months or so right now, I think Yeah. Anyway, what I've been reading in over the time since iOS Khan, so I've been reading a lot actually lately but one article that really stuck out to me because it hit close to home and I'll tell you why in a bit but that is an article by Curtis her bare developer of the slopes app titled pacing ourselves in the marzipan marathon. And like I said, it really hit close to home because the whole point of the article is to kind of like temper some expectations because I don't know maybe many of you out there. I have very very high expectations for WTC 2019, and I think I was expecting a little too much out of this marzipan. So basically this article is all about kind of temper and those expectations in the first line really sums it up. Great when he says expect to see the Swift 1.0 of marzipan this summer not the Swift 5 that we all want. I read only the beginning of the article is published and coaches said something so bizarre. I just stopped reading he said that I've placed decent money on marzipan being a big part of the Apple arcade Tech stack. Which is literally the last place I'd expect marzipan to be interesting cause they already have these wonderful cross-platform Frameworks and Sprite can sink it. Yeah, I wasn't sure about that either. So I kind of left that out of my section off though of this story. But yeah, I don't know what kind of see how that goes. But the overall sentiment is that I just agree with because like I said, I know I was probably had way too high of expectations and what happens when your expectations are too high they can just never be met your ultimately disappointed and I'm just trying to help people avoid that because we have to remember this is like a multi-year project. That's a long roll out and a lot of this information was taken from a Bloomberg report that stated, you know, we're likely to get Universal platform agnostic binaries by the end of 2020 one but this year 2019. We're probably going to see iPad apps get that marzipan love, you know, iPhone apps are slated for like 20 20. So again Lower the expectations a little bit as a whole don't expect the entire roll out to happen in 2019. Do we still believe Bloomberg after that? What a chip story they had last year. Yeah, that was bad. It was and there was nothing no no apology or anything out of them that I've seen. No, I haven't seen the correction nothing. Yeah, it's all silence never happened. No, it's so obviously the entire roll out like oh, yes, every looks now marzipan that's not going to happen. Apple aren't that kind of company? They do things in it real evolutionary level. They don't want to have like a Windows Vista on their hands, but it do I think need to do something big this year because last year was pretty quiet right even though serious Chocolate is very nice. It's a very quiet year and they've tried so hard to make developers build apps for all their platforms and whether the future of TV is apps right but only really iOS has been hit. There aren't many watch iOS apps. There aren't many TOS apps or how many Mac OS apps realistically is not in the App Store. I don't think anyone wants to Mac OS continue this sort of long slow decline. It's on to be great to be something major ship now Curtis mentions in the article. You might be hard to Port. Health kit. I just I just can't see that most of the Frameworks are cross-platform because they have no UI attached Healthcare just some numbers in the big database bluntly ultimately sold it is which things connect to same for home kit or home got ported straight away because it's mostly backend stuff. Right, right. Yeah. What were the first ones home kit? The stocks a pin? I think there's one more voice memos or whatever. Yeah news was that well, wasn't it new? Yeah. But anyway another good point he makes that I like is that you know, Even if your underwhelmed by what marzipan is in 2019 like you shouldn't bash Apple for that and we should kind of applaud them for this new version of Apple because in the past Apple would go away and the little corner for years and then only really something once it was Final polished and done but over the past few years. We're seeing that you know, they're not so much doing that anymore with you know, Swift 1.0 wasn't quite ready for people to use in production due to the roadmap in the rapid changes that were coming. You know, I don't think most people really took it too seriously until like Swift two or three but yet Apple released it anyway. For us to play around with and give the feedback and Curtis, please. We'll see the same thing with marzipan and I tend to agree with them actually have to adhere. All right Pierre pal. She's too soon man too soon. Um, I think it's worth back and put this into context because as you cause have a swift baby, right, but yep, it's easy to forget that Swift 1 beta 1, you know, the very very first version Apple announced which is nothing like once which in some respects already had generics already had tuples already had A doctor has already had type inference already had playgrounds and more. It was lightyears ahead of objective-c header files gone. All those asterisks gone square brackets Galore gone and it yeah, of course, it's grown better since there's more fine that it's much more polished language has its own language really but it's been incremental Improvement on what was already a massive Milestone you modern language. Now what I think we're kind of talking about is with marzipan being potentially. So in the isn't as good as native app kit, like a native app is what was what builds you know desktop software like Pages or logic and similar real meaty applications. If marzipan isn't up to that scratch if it's not as good as the alternative then it's comes down to teams choose to use marzipan for convenience. Like I could use apt-get I'll get better at without kit, but marzipan easier marzipan is cheaper and that is ultimately no better than all those folks arguing for Tron everywhere I know it's time for our open ballot. I'll question this time was have you experimented with suicide Swift? If so, what are your thoughts? And if not, what's holding you back? We're number of folks right in say they're using an actual project Dimitar Checker of says, I love it. I is over back end or one of my apps and it was a good experience. I thought online owed in a dock container. I know all the buzz words now I on said I was working for a start-up. Wu's paper to for our back-end servers and we migrated to Vapor 3x Ron from my experience. It was amazing and yet to use your existing knowledge into development. Jose Reyes said, yep. I launched my portfolio site with it. I really like it. But to be honest were a long way away from the true promise of using server-side Swift because web UI is still HTML and CSS and the tooling isn't there in xcode to support it. It's interesting that these people are saying it is shipping now because I know that in the Couture aside Mercedes-Benz and Ing and similar big companies are shipping it, but I haven't seen quite so many from you know, smaller companies one man bands and similar. I haven't seen so many there. So folks are actually launching it which is fascinating to me. Yeah. I love seeing it. I've said it time and time again. I can design an app. I can build a client. I can't build the back end. So I've been waiting for server-side Swift to be mature and you know being shipped by many popular. The companies to really dive in so Now's the Time to dive in I just gotta just got to find a project in a reason to build it. Mina says, I'd love to and once I want to start but I couldn't convince a project manager in the company. That's a good idea to do it. Now. I'm not really sure if I learnt appetite Swift. Is there any project I can use it for or not? And yeah, that's kind of what I was just saying is you mentioned the small startups like yeah, there's plenty of companies out there using it but I haven't seen or heard of a lot of a small startups using it either what I worry about. Is that if there Reverse of the JavaScript for apps debate. We're all very conscious of saying. Oh no, we don't want react native here to make sense. You just try and use your JS skills everywhere. You should do it in Swift learn sweat as much better. It's very easy to do the same thing in Reverse like this because we can doesn't mean we should write we can do everything in Swift. Let me talk clothing and Swift and it could work out for the best in the long term. But right now as a massive tide of reasons not to use it and it's not just is there a project? It's do you want to have to write most your Frameworks from scratch? Because it existed Swift yet. They all exist like 10 of them custom PHP or Ruby or Python and zero and Swift which is why I've shipped several suicides with framework that do things. I want to do things like simple image manipulation making thumbnails or pictures wasn't available anywhere else. I have to do my own library to support that. So if you don't mind that cost it's more than just the projects is actual cost of building Frameworks supported. There's Mars is here saying they've been learning. Ting not sure where to apply it Mark upon says he loves it but I was taught at first because of the lack of resources showing example use case of suicide Swift however, now there are multiple resources. I feel Community embraced it much more I plan on using paper in the future Tim says so far. My only experience was a switch on Sundays live stream which Paul did we made of API and a matching IOS app, but your Garrison were saying yes both paper and Keturah. Both frame was continuous sure and break ground. I could see me as much information as I can acquire both platforms and plan to integrate vapor into an app ID. I've catering to several business trades one of the many wonderful anecdotes in kenko senders book critic selection is about keyboards and there'd a lot of work on two alternative types of keyboards ones that iPhone like modern iPhone layout and one's a Mac style layout and there's a gorgeous apparently animation between these two keyboard Styles and it had jobs and jobs response was we I only need one of these right like there's no point how you go to animation of what having to brake lever ideas. This is a pointless Choice. Why do we care and I worry a little bit when folks saying the learning both Vapor anger Torah and perhaps even perfect. I'm not necessarily sure the values therefore doing both. I mean pick one do something interesting with it ship it I move on don't dilly-dally around compare both try them out because you just kind of procrastinating. Yeah are they so I'm not again. I haven't really taken a dive in are they Much different or is it just kind of you know small differences? They are this point quite different. I know IBM's trying to catch up with Vapor make was a long way ahead and has been for a while. So it's not easy for them right now. Yeah, I'm getting ready to start these tutorials. I met David Oak and of Keturah here in San Francisco a couple weeks ago we met for a beer and got one of the very first copies of like a free copy of his book after a Wonder look book of you know, Keturah server-side Swift with Keturah, I believe so it's sitting back there behind me. I just gotta In it up and start reading it. Some folks just don't have enough time for it. Jason. Mitchell says no, he's still trying it regular Swift and Katy well says not yet still staying really writing Swift for iOS apps, but I do plan to use it in the future some day dream job title full-stack Swift developer. That would be pretty cool Caleb. I kind of agree with that. Like I alluded to earlier is that I need the back end to be called, you know, the full stack title will be cool to do that all in Swift if I do say so myself. I certainly agree that the If using everything from watch to server is very very interesting and Swift has the positive doing it. It's just so young right now that it you're fighting against the lack of resources the lack of Frameworks. I have Co the lack of example resources like of stack Overflow answers to your questions. It's just a bit Wild West right now. That's why it's a dream par We're Dreaming about it. It's not there yet. I want to end on Shore doll's house key says in my opinion. The Swift Community has a huge. Amount of work to make server-side Swift a worthy Contender too much more mature Stacks like.net spring Boot nodejs and more. I'm pessimistic will break into such a crowded space with much larger efforts behind the competing text acts while that Sean is pessimistic. This Sean is optimistic. I believe we'll get there and we'll get there someday like slipped on the server is so young and such a baby. Like even you know, four years ago nodejs was was nothing, you know, so I don't think you can kind of compare no Jason. How to server-side Swift now so just because it's a crowded space doesn't mean you know, we shouldn't pursue it. So I'm off the Mystic I think we'll get there. That's going to wrap up this episode of Swift over coffee. But as always we got to leave you with something to think about and that is next week's open ballot. Do you think Apple arcade will be good for the wider iOS game development Community free. I tell all your friends to subscribe leave a review will be your best friends if you do and don't forget to follow us on Twitter at Swift over coffee. Talk to you in the next one. Bye.
In this episode: lots of new Swift Evolution proposals are in review, we discuss *that* TechCrunch article, dive into server-side Swift, and try to figure out how to pronounce “Herbert”. - Swift 5 Officially Released: https://swift.org/blog/swift-5-released/  - SE-0246 Generic Math Functions: https://github.com/apple/swift-evolution/blob/master/proposals/0246-mathable.md  - SE-0249 KeyPath Expressions as Functions: https://github.com/apple/swift-evolution/blob/master/proposals/0249-key-path-literal-function-expressions.md  - SE-0252 Key Path Member Lookup: https://github.com/apple/swift-evolution/blob/master/proposals/0252-keypath-dynamic-member-lookup.md  - SE-0248 String Gaps and Missing APIs: https://github.com/apple/swift-evolution/blob/master/proposals/0248-string-gaps-missing-apis.md  - SE-0257 Eliding commas from multiline expression lists: https://github.com/apple/swift-evolution/blob/master/proposals/0257-elide-comma.md  - SE-0255 Implicit returns from single-expression functions: https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md  - Paul’s pick: Whither app developers? 