SYS-CON MEDIA Authors: Stackify Blog, Zakia Bouachraoui, Elizabeth White, Pat Romanski, Liz McMillan

Blog Feed Post

Learning Swift Programming Book Review

I started programming with Swift the first day it was available. Back then all we had available was Apple's The Swift Programming Language, and Using Swift with Cocoa and Objective-C eBooks. I got in a few weeks of heads down work before the plug was pulled on our project.

When the project was shut down I was handed a project that required 100% of my attention so I was forced to shut down Xcode for a few months. That was a blessing and a curse. Curse because I don't remember anything I was doing, and a blessing because now there are several books available for getting started with Swift.

I am reading 4 books on Swift before moving on to iOS. This might seem like over kill since I have spent a lot of time in Objective-C, but this is what I do to learn when I am trying to learn something I am not using at work. I am not that quick or smart, so I need to repeatedly pound stuff into my head for it to stick. I have a real world app I will be coding after I finish the books.

Although I started all 4 books at the same time this is the one that I started running away with and finished first. The reason for that is this one is the least robust and contains straight to the point content. No filler at all. Below are the chapters included in the book.

Introduction
1. Getting Your Feet Wet
2. Collecting Data
3. Making Things Happen: Functions
4. Structuring Code: Enums, Structs, and Classes
5. Making a Game
6. Reusable Code: Closures
7. Subscripts and Advanced Operators
8. Protocols
9. Becoming Flexible with Generics
10. Games with SpriteKit
11. Games with SceneKit
12. Apps with UIKit

My favorite thing about the book is the concise, yet thorough, explanation of language features. The author also has a great feel for which topics need more attention. For example, Closures, Generics, and Protocols get a whole chapter dedicated to themselves.

My biggest gripe with the book is not a legitimate one, because it is actually with the author, and complaining about it would not be right. I thought it may be an issue when I read at the beginning of the Introduction that the last thing the author would provide in the Introduction is where we can find the code. Where to find the code is not in the Introduction, or any where else that I can find.

Looking for it I eventually found my way to a cloud implementation of a Swift programming environment that was broken. That was where the author said he promised to house all the examples from the book. I saw the promise on one of the sites that came up in my search for the code. I have no doubt, that he eventually will get it working. Regretfully, I could not retrace my tracks back to it. Although I did find some other online Swift compilers.

So my big gripe is that the author is doing too much for the community. He needs to slow down, take a small break, clean up his web presence, and then get back to full on teaching with a less outlets. The Skip Wilson videos are great, but trying to find the code led me all over the place. I also couldn't find an easy way to ping the author.

Like I said at the beginning of the explanation of my only gripe, my issue is not with the book. It's not really against the author either, I really appreciate all his contributions to the community. He does a great job. I just know I have seen people 1 star an Amazon review simply because a book came with no code.

This book is the place to start with Swift if you have prior programming experience. The author's writing style is great so the book is a nice short cover to cover read, but it also makes an excellent reference. Looking up a topic you will find examples easy enough to not have to get your head around the domain's context, but complex enough to show the feature in detail.

The reader for this book is the experienced programmer that wants a quick look at what Swift has to offer. It is not a book about how to build applications, although the author uses a few apps in his examples, it is a book about Swift. If you want a swift introduction to Swift, this is a great place to start.

Learning Swift Programming

Learning Swift Programming

Read the original blog entry...

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Latest Stories
Docker and Kubernetes are key elements of modern cloud native deployment automations. After building your microservices, common practice is to create docker images and create YAML files to automate the deployment with Docker and Kubernetes. Writing these YAMLs, Dockerfile descriptors are really painful and error prone.Ballerina is a new cloud-native programing language which understands the architecture around it - the compiler is environment aware of microservices directly deployable into infra...
10ZiG Technology is a leading provider of endpoints for a Virtual Desktop Infrastructure environment. Our fast and reliable hardware is VMware, Citrix and Microsoft ready and designed to handle all ranges of usage - from task-based to sophisticated CAD/CAM users. 10ZiG prides itself in being one of the only companies whose sole focus is in Thin Clients and Zero Clients for VDI. This focus allows us to provide a truly unique level of personal service and customization that is a rare find in th...
Signs of a shift in the usage of public clouds are everywhere. Previously, as organizations outgrew old IT methods, the natural answer was to try the public cloud approach; however, the public platform alone is not a complete solution. Complaints include unpredictable/escalating costs and mounting security concerns in the public cloud. Ultimately, public cloud adoption can ultimately mean a shift of IT pains instead of a resolution. That's why the move to hybrid, custom, and multi-cloud will ...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
Between the mockups and specs produced by analysts, and resulting applications built by developers, there exists a gulf where projects fail, costs spiral, and applications disappoint. Methodologies like Agile attempt to address this with intensified communication, with partial success but many limitations. In his session at @DevOpsSummit at 19th Cloud Expo, Charles Kendrick, CTO at Isomorphic Software, presented a revolutionary model enabled by new technologies. Learn how business and develop...
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
Serverless applications increase developer productivity and time to market, by freeing engineers from spending time on infrastructure provisioning, configuration and management. Serverless also simplifies Operations and reduces cost - as the Kubernetes container infrastructure required to run these applications is automatically spun up and scaled precisely with the workload, to optimally handle all runtime requests. Recent advances in open source technology now allow organizations to run Serv...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
GCP Marketplace is based on a multi-cloud and hybrid-first philosophy, focused on giving Google Cloud partners and enterprise customers flexibility without lock-in. It also helps customers innovate by easily adopting new technologies from ISV partners, such as commercial Kubernetes applications, and allows companies to oversee the full lifecycle of a solution, from discovery through management.
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
The use of containers by developers -- and now increasingly IT operators -- has grown from infatuation to deep and abiding love. But as with any long-term affair, the honeymoon soon leads to needing to live well together ... and maybe even getting some relationship help along the way. And so it goes with container orchestration and automation solutions, which are rapidly emerging as the means to maintain the bliss between rapid container adoption and broad container use among multiple cloud host...
Take advantage of autoscaling, and high availability for Kubernetes with no worry about infrastructure. Be the Rockstar and avoid all the hurdles of deploying Kubernetes. So Why not take Heat and automate the setup of your Kubernetes cluster? Why not give project owners a Heat Stack to deploy Kubernetes whenever they want to? Hoping to share how anyone can use Heat to deploy Kubernetes on OpenStack and customize to their liking. This is a tried and true method that I've used on my OpenSta...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
Emil Sayegh is an early pioneer of cloud computing and is recognized as one of the industry's true veterans. A cloud visionary, he is credited with launching and leading the cloud computing and hosting businesses for HP, Rackspace, and Codero. Emil built the Rackspace cloud business while serving as the company's GM of the Cloud Computing Division. Earlier at Rackspace he served as VP of the Product Group and launched the company's private cloud and hosted exchange services. He later moved o...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...