2019 in review

This year started as just another year: I started doing a Swift bootcamp as I had done the year before, and once again, it was an amazing experience. I learned a lot with all the beautiful Ladies that went to the bootcamp, I hope they learned something from me too 😄.

In April, I started a new job and with it came a lot of new challenges: No Storyboards 😱, functional programming, and pods all over the codebase. But I was working with a phenomenal team of wonderful people, that helped each other and pulled together to make the product a better one. I still miss you guys 😄.

For personal reasons I moved to my favourite city in September: Barcelona. New house, new and old friends, a new company with a new team. And what a team! Definitely you don’t need to go to London to find amazing developers. I have my challenges too, still no storyboards ☹️ , but no pods 💪, and loads of RxSwift… Still don’t know how to react to that 😉.

2020, is getting closer and everything seems to point out it’s going to be a very good year. May the best things about 2019 be your worst in 2020.

Happy new year!

12 weeks

Last Wednesday, was the last night of a 12-week Swift bootcamp that I gave in collaboration with TECHKNOWDay and hosted by TheCurtainLDN. And I’m already missing it!
This group of Ladies was awesome: even though they were tired and wanted to go home and chill out, they persevere and come night after night.
And we finish our app. A simple Weather app, that searches for a city and then grabs the weather for it through an API. 💪
Inspired by the BBC weather app, we follow the curriculum of Apple’s program #EveryoneCanCode. It was hard, frustrating, unbelievable, colossal and for me, it was mainly fulfilling: It’s so lovely when you see these Ladies learning and applying all the knowledge that you were trying to teach them. Nothing is more rewarding than hearing all the exclamations of joy when they put something to work! It is something that there are not enough words that can explain it. I was an apprentice too, and I know how frustrated it that can be, but it’s way better when finally you can do it.
And these Ladies can do it!

Server Side Swift

In December 2015 Apple open-sourced Swift, which has been a real success. Many developers are contributing, not only via pull requests directly into the source code, but also by helping to define the shape of the language in the swift-evolution repository.
One of the things that came with Swift was server-side development. There’s a new version of Swift developed for Linux with a toolset that includes a package manager, the LLDB debugger, and the REPL. This opens a whole set of new possibilities for a lot of companies, such as IBM who are currently making a huge investment in its framework Kitura.

So why?

  • Compared to Python or Ruby – it is super fast and a type-safe language.
  • It is a language which allows developers to write expressive code.
  • As an iOS developer, you can stay in the same technology stack. If you need to develop a Web service for your iOS app to retrieve data, you can write that in the same language, using the same tooling…
  • Devs love Swift 🙂

So, what’s on the market?

There’s a lot of small frameworks that take advantage of these new possibilities, so have a look here where Edward Jiang does a great job of introducing four of the more promising frameworks already in the market. I’m divided between Vapor and Kitura:

  • The first one is growing in popularity and is starting to be the one to used in all tutorials that I’ve picked up:
    • It’s inspired by Laravel
    • Aims to be expressive and simple to use
    • Has great documentation
  • The second, Kitura, is from IBM, which reveals the extent of their belief in the advantages of this approach to application development. Alongside the core framework, IBM has also invested in:
    • A package manager, which allows developers to add their own packages
    • A sandbox environment, to allow developers to test Swift on the server-side
    • A Cloud server that is specialised for deploying Swift

Kitura is based on Express.js, so if you are already using it you will find almost no differences at project level structure and so on.

If you want to have a look of all the stack that IBM has, you can go here.

Can you convince me?

You are a backend developer and you thinking: “Nah… I’m not going to learn a new whole language…”
Well, don’t forget that Swift, first of all, is a type-safe language. And it’s a hybrid in that it supports Object-Oriented and Functional programming. A huge advantage of this is the ability to introduce yourself into functional programming, but still be “safe” in your object-oriented skills.
Yes, you would have to learn a new language… But it’s Swift!
Not convinced yet? Take a look at these 2 articles that compare server side Swift (in this case Vapor) with a lot of other well-known languages:

Please note that these tests were made before Swift 3.0 came out.

Conclusion

If you are a iOS developer, and you need to have a Web service for your app, you should definitely consider one of these options, since you won’t need to learn another language to deploy your Web service. If you are a backend developer, you can always learn a new, type-safe, language and then who knows? Maybe start creating your own iOS apps?

iOS Con

Yesterday finished iOSCon, and I just wanted to let you know how good it was. Yes, that’s right, It was really good to see so many iOS developers want to learn different things a and share their knowledge.
First of all the organization has my +1 because everything went so smooth. And for getting such a good panel of speakers. The only thing to point out is that the second day was far better than the first one, and having two tracks with impossible choices to make.

From the first day, I’ll recommend you to watch this talks:

And then the Lightning talks session special the one presented by Abizer Nasir, on how you can burnout in this job.

The second day started with Daniel Steinberg talked to us about Understanding your Toddler given us some insights of how Swift has evolved and what’s coming with Swift 3.0.
And then it was really a big struggle to choose the next one … Fortunately, you can just watch everything here. I would like to recommend you to not miss these ones:

What was really enlightening was to see that all speakers in a way were talking about the same thing: separation of concerns, clean code, clean architecture. It seems that Software Craftsmanship finally hit the iOS world. Good to know!