👋 I share knowledge and experience on iOS 📱 & macOS 💻 development! Most probably there is something useful here for you 👈 !

GTStorable

GTStorable is a Swift protocol which provides standard file operations for types conforming to Codable protocol. Check it out on GitHub!

RESTful API Tutorial: How to Upload Files to a Server

Welcome to a new, hopefully exciting tutorial! In a previous post I showed to you the process of creating a custom class that manages web requests and RESTful APIs. Today, we will keep building on it, as I would like to focus on a specific use case: How to upload files to a server! Uploading files might not be one of the most common things when dealing with web services. However, it can be proved to be a tedious task...

GTEasyLayout

    GTEasyLayout is a small framework written in Swift which aims to minimise the effort of setting up constraints programmatically when implementing UI in iOS apps. It’s the perfect tool to use when constraints are not extremely complicated and typing a bunch of similar lines for multiple views becomes tiring and anti-productive. Check it out on GitHub!

macOS Programming Tutorial: Working with Custom Views and Cocoa Controls

Great apps have great user interfaces, and chances to build a great interface entirely inside the views of the view controllers in the storyboard file(s) are small. Usually, complex views are being designed in separate Xib (Interface Builder) files, and knowing how to load content from custom views is a mandatory skill that each macOS developer must have. This kind of separation also helps in maintenance, extendibility and testing of the app. In the previous macOS tutorial, we didn’t create...

RESTful APIs Tutorial: Creating Your Own Lightweight REST Library in Swift

Most applications nowadays communicate with servers to exchange data, and they do so by consuming RESTful APIs, also called RESTful web services. Using REST, applications can send requests to servers, and servers send responses as answers back to client apps. The whole communication is based on standard rules that REST architectural style defines. Obviously, developers are meant to be able to use RESTful APIs either by integrating third-party libraries to their projects, or by implementing their own solution to achieve...

GTRest

    A lightweight Swift library for making web requests and consuming RESTful APIs!

GTNetMon

A lightweight Swift library to get network status and connection information, and to monitor for network changes.

macOS Programming Tutorial: Working with Alerts, Sheets and Modal Windows

One of the basic, yet vital things a developer should know when creating macOS apps is how to present alerts, system panels or custom windows to their apps. Regardless of how small or big an app is, it will always be necessary to display an informational message to the user or ask for confirmation. Letting users to search for and open a file from their drive is the case for many kinds of apps, as well as saving back to...

Using Google Cloud Translation API to Power Your App with Instant Translation

One of the several services and APIs that developers can use from Google is the Cloud Translation API, which offers the ability to perform machine learning (ML) based translations of any string into any supported language. The list of supported languages is long and it’s getting longer over time. Google provides pre-trained models for translation, but custom models can be trained as well. And as we will find out soon in this tutorial, translation is fast, accurate, and of high-quality....

macOS Programming: Working with Dark Theme and Building a BMI Calculator

Welcome to another macOS programming tutorial! In the previous post we made our introductory steps on macOS programming world as we discussed about fundamental concepts. In this tutorial, we are going to explore and unveil new interesting things that would be necessary to anyone who wants to make their way to macOS development. So, if you have gone through the previous post, then you already know that the main focus was on window controllers and windows, panels, loading and presenting...