Skip to main content


Showing posts from June, 2017

iOS Architecture Patterns - Demystifying MVC, MVP, MVVM and VIPER

Feeling weird while doing MVC in iOS? Have doubts about switching to MVVM? Heard about VIPER, but not sure if it worth it?

You are about to structure your knowledge about architectural patterns in iOS environment. We’ll briefly review some popular ones and compare them in theory and practice going over a few tiny examples. Follow links if you need more details about any particular one.
Mastering design patterns might be addictive, so beware: you might end up asking yourself more questions now than before reading this article, like these:

Who supposed to own networking request: a Model or a Controller?How do I pass a Model into a View Model of a new View?Who creates a new VIPER module: Router or Presenter? Bohdan Orlov

WWDC 2017: App Rating Changes

Apple is putting an end to the scourge of review prompts that seemed to pop up inside of some apps every few days. In a change to the App Store rules this week, Apple said it will now enforce hard limits on how review prompts show up and how often users have to see them.

First, apps will be required to use a new Apple-made review prompt, which allows users to leave a rating without exiting an app.

An app can only display the prompt three times a year, regardless of how often it’s been updated.

Part of the reason developers have their apps show review prompts so often is because Apple has always reset an app’s rating after every update, even very minor ones. With the redesigned App Store, developers will have the option to change that, so that their app’s ratings are maintained between updates.

And if you release a major new version that drastically changes the core features of your app, you can press the big button to reset the App Store ratings.

The Verge

Planet of the Apps

The season premiere is finally here! Watch this new series about apps and their creators. Featuring Jessica Alba, Gwyneth Paltrow, Gary Vaynerchuk, and

The first episode is available here for a limited time. Join Apple Music to get new episodes weekly.
Planet of the Apps (Apple Music)

The fastest Diff and patch library in Swift to apply data changes in UICollectionView or UITableView

This library generates differences between any two Collections (and Strings). It uses a fast algorithm (O((N+M)*D)).


Diff.swift supports three types of operations:

InsertionsDeletionsMoves (use ExtendedDiff)Arbitrary sorting of the PatchUtilities for UITableView and UICollectionView (if that's just what you want, skip to examples)⚡️ fastDiffing collections containing collections (use NestedDiff)
GitHub / Wokalski / Diff

Code Security Guidelines for Java/Android and iOS

Secure Coding Practices - Quick Reference Guide

The OWASP Java™ and JVM Technology Knowledge Base is the clearing house for all information related to building secure web/distributed applications and services based on Java and JVM technologies. The focus of these pages is on guidance for developers and architects using Java frameworks and JVM based technologies for web application development, on OWASP components that use Java and on participation in OWASP projects that use Java and JVM technologies. Moreover, we aim to provide security related guidance for system administrators managing Java and JVM based applications and tools.

The project is not limited to Java. It aims to also address topics around the JVM in general.

Community content is key to security information. The project depends on content from developers throughout the Java and JVM ecosystem.

OWASP Java Homepage
OWASP Java Guidelines (PDF)

IOS Application Security Testing Cheat Sheet

This cheat sheet provides a checklist of…