The post about a future of Swift makes me think about coexisting.
The post describes why we made the decision to move all new development into React Native instead of Swift.
We want to share with the community our approach to this migration, the effect Swift 3 has had on our app, and some technical insights we gained along the way.
These are practical tips from an Airbnb iOS team!
Our chat was old, having evolved over the years into a massive view controller with weird fixes that nobody could understand. It was difficult to add new types of messages and new bugs were easily introduced. So we decided to rewrite it from scratch on Swift and make it open source.
So today — we’ll look at every single keyword Swift (v 3.0.1) has to offer us along with some code for each one, all in the name of booking up on our trade’s tools.
I already covered making a custom Swift type Equatable and Comparable which allows us to test if an Array contains an instance of our type or to sort the array amongst other things. What if we want to store our type in a Set or Dictionary?
Today, Nikita Voloboev was trying to wrap his head around how this whole Cocoa/Cocoa Touch API thing worked. The conversation started when he asked, “Is UIKit part of Cocoa?” The docs weren’t really giving him an idea of how it all worked. After a few minutes back and forth, he derived this concept using the tools at minenode.com:
remove — it takes a closure to remove an element that matches the provided condition & returns the removed element. Its a mutating func which means it modifies the host array
The important thing in this function is that mutating(
remove) or non-mutating(
I got a design requirement recently for a button to be placed in the bottom corner of the screen and for it to be the same distance from the trailing margin as the bottom.
ExtendedTouchable is really useful.
In software development, singletons are widely discouraged and frowned upon — but with good reason. They are difficult or impossible to test, and they entangle your codebase when used implicitly in other classes, making code reuse difficult. Most of the time, a singleton amounts to nothing more than a disguise for global, mutable state. Everyone knows at least knows that is a terrible idea. However, singletons are occasionally an unavoidable and necessary evil. How can we incorporate them into our code in a clean, modular, and testable way?
@jessesquires recommends to using Dependency injection instead of using Singleton in ViewController. It enables to reuse codes and write tests easily. And
Default parameter values is good for non-breaking refactoring.
I want to share a technique that I’ve come to find quite useful when using the Swift do, try, catch error handling model, to limit the amount of errors that can be thrown from a given API call.
How does the way the Swift team uses protocols, give us hints on how we can do it?
More productive Swift table views with Static
Simple static table views for iOS in Swift. http://blog.soff.es/static
Library to unescape HTML special characters in Swift.
Nothing but sugar.
tiny command line tools and where to find them
Mini vMac for iOS https://namedfork.net/minivmac
Swift Command Line Tool for easily creating GitHub Repos
Over the past year, I’ve been learning Elm. I did the usual things when learning a new language:
Stanford Engineering courses by Iagan Hariman.
iTunes link is here.
“I am a curious developer. I like to understand what’s going on in the libraries and frameworks that I use,” says Shuhei Kagawa, a full stack developer from Tokyo who recently moved to Berlin after finding a job through Honeypot.
I just found an interesting interview post.
writing code that is easy to change, code that is malleable. It’s like creating adaptive user interfaces but for all of your classes, modules, and other components.
I’ve been talking with folks on a Slack about refactoring today, and I thought I’d put some of my thoughts here. Maybe a little less polished than I’d like, but I wanted to get them out of my head and down on “paper.”
We review quite a few code diffs; it is our job. Often, when jumping on a new project, we start by reviewing pull requests.
I need Swift version!
Our new article is in fact a list of tips and tricks. These tips will help beginners to progress faster while more experienced users will be able to streamline what they know. The article will also be useful for developers, product and project managers, and for anyone who would like to improve both product quality and inter-departmental relations.
Good summary of mobile app testing!
Recently I have discovered the nice Stickies app that comes along with OS X. This is exactly what I needed for making quick notes while watching lectures or during debug sessions.
Github repo called ModernStickies is here.
But if you have a language with first-class functions and closures, you can use these constructs to create objects using the Function As Object pattern (originally described by Eugene Wallingford).
Accessibility in software refers to the noble ambition of ensuring that software is usable by as diverse a user base as possible. To that end, software is made more accessible by adapting to a variety of physical or cognitive impairments that may affect any individual user.
Everybody works differently but chances are that you’re used to this demand because it happens everyday. It may not be your boss though. Sometimes it’s a Quality Assurance Engineer who needs to see if a bug has been fixed. Sometimes it’s your Project Manager. At every company there is always one person in charge of those demands. Don’t be that person. Today I’m going to show you a way of making a build automatically available for your boss to install.
Formerly an iOS Enginner at Spotify, John now works as an iOS Engineer at Hyper. He’s the creator of SwordsArrows, as well the creator of many great open source projects (See links).
This week, Chris and Soroush discuss different approaches to testing your network layer.
130-iphone-comp Episode 130 – Like a Russian Nesting Doll 1 Reply This week are joined by Greg Heo as we wade into RxSwift. We follow up on upgrading to 64-bit apps. We discuss the possibility of an OLED screen coming to the 8th iPhone model. Greg brings up the preferred software languages of weekend developers. We discuss where to define a notification? We watch Greg dance around as we quiz him on RxSwift*. Picks: Editing your macOS Dictionary, Apple’s deep learning frameworks: BNNS vs. Metal CNN, Swift Summit 2016 videos are being released! and what goes into an advance iOS/Swift course.
There are not Podcast but interesting!
Working on a side project. Connecting the iOS app to the server stuff.
I read Things You Should Never Do, Part I by Joel on Software. It reminds me of an important mind as an application developer.
Have a lovely week <3