Week 86 Newsletter

iOS News

Code

Swift: Selector syntax sugar

In this article, Andyy Hope writes about new Swift Selector syntax sugar. He talk about the Selectors and improvements in Swift. If we use the same selector multiple times, it will be hard to read if we just copy pasting several times. He shows by placing all the selector in one spot we can edit them in uniform matter. He also made Selector extension instead make an Action struct to make it more sugary.

Swift Functions as Types

In this article, Andrew talk about Swift Functions as Types. He describes two kind of Swift Types, first is Named Types and second is Compound Types. After that he shows Function Types and A couple of gotchas when it comes to notating a function’s Type, first is- if a function takes no parameters and second is- if a function has no return type.

Realm and Alamofire in effective harmony

In this blog, Christoph Auer introduced how we use Swift libraries Alamofire, Realm and ObjectMapper to develop simple synchronization between Hyphe API and iOS clients. He shows the idea of Hyphe iOS application using VIPER architecture which was adapted for requirements. Then he goes to an elegant GET request and Map Alamofire responses in objects.

Improving system modules support in swiftpm

Ankit describes about Improving system modules support in swiftpm. He made a simple Gtk window by creating a package called CGtk with two files which are Package.swift and module.modulemap. Then he create a class called PkgConfig to wrap the pkg-config’s functionality, it throw an error if pkg-config or system package is not installed and to display right provider help in case if module is not installed. He also create Build module which try to figure out the provider for current platform and at last one thing is left is asking pkgconfig what flags to add for each CModule which define a pkgconfig name and append those flags in build params.

Design

Animation in Mobile UX Design

A great post on Animation in Mobile UX Design. Nick shows Benefits of Animation. In-app animation should provide clear feedback, system status to the user. Visual Feedback is important in user interface design. He also shows the system status, Meaningful Transitions and delightful details. When an animation doesn’t fit a functional purpose it feels awkward or annoying. It's a good post to someone who want to know more about the Animation in mobile design.

Android News

Code

The Shortcomings of Android Thread Annotations

When Android Threat Annotations- @UiThread and @WorkerThread were announced, Michael Comella was excited to assure that compiler was on his side. Many months later, he didn’t feel the annotation work as he hoped. He didn’t know the exact cause so he decided to investigate why. He found when it is useful to add thread annotations and also found few places where thread annotation delights.

Android Project Structure?—?alternative way

In this article, Dmytro Danylyk writes about Android Project Structure alternative way. As we know how android project structure looks like but during project development the number of files grow up rapidly and it becomes hard to navigate and search needed file. If our screen consist of big amount of layouts, drawables, dimensions it make sense to create separate resource folder- per screen.

Using MPandroidChart Library for rendering graphs

In this blog Shubham Agarwal shows using MPAndroidChart library there are 3 steps to create a simple graph. First is Add dependency in module level gradle aka build.gradle, second is Add custom type of Chart provided by library and third one is Configure your Chart View that was defined in step second.

Understanding Android Versioning

In this article, Vipul Patel describes about Understanding Android Versioning. Versioning is important part of application development lifecycle. Application version can be set by using two attributes- versionCode and versionName. These attribute declared in AndroidManifest.xml in the Android Project view. He also describes the three attribute that are available to specify API level requirements, which are minSdkVersion, targetSdkVersion and maxSdkVersion. These are also declared in AndroidManifest.xml.

Design

Material Design – Flexible Space Header with Image

A great article on Flexible Space Header by Micha? Paw?owski. He shows how to implement Flexible Space Header with Image. First we need to create XML layout file, then we have to create ObservableScrollViewWithFling class and finally we need to create Fragment that will make use of our layout and ObservableScrollViewWithFling.

Keyline Pushing app + Layout Bound

Taylor Ling shows how to inspect an app from design perspective, specially on the layout, alignment, keylines etc. Sometimes we are able to spot some issues by just looking at it. But there are some tools, by that the design inspection can be much easier. These tools are- Keyline Pushing app and Layout Bound. He also shows how these tools can help Android Developers.