Spreadsheets are an irreplaceable tool in work. In spreadsheets, we can create simple databases, process modeling, accounting, inventory. Before the Google Sheets era, Microsoft Excel was a preferable tool for that.

Spreadsheets are easy to work with on a desktop or laptop. But how to enter data from mobile? For instance, do inventory in the office or track your spending during your shopping.

First what comes to mind is Google Sheet app. With the app, you can open any Google spreadsheet. It looks like:


You can’t test an application completely and fix all the bugs. Even if you think that all was tested, that’s not true. There are some soft spots in an application. Most common are time zones and font size, they’re set in your device settings.

1. Font

You can minimize an app, find system settings and change the font size. If you choose a huge text it’s possible that an interface in your “completely tested application” will ruin. There are examples below:


Any project starts with clarifying requirements. Technical requirements are in specification, but what about visual project part?

The best way is to make an interactive prototype. This is visual representation of a mobile application. It allows to look through all the future app screens before and click them to test without programming start. You can make prototype using special programs, for example, Figma or Marvel. These services allow to launch a prototype and observe the future app functionality.

Interactive prototype helps to assess if the interface comfortable for user. You can look through main ways of product usage to understand…


Working with iOS I’ve always been confused about a big amount of delegates for tables creating and their complexity. As I’ve started to use RxSwift, I met its component — RxDataSources. Now I can say that work with tables has never been easier.

Working with iOS I’ve always been confused about a big amount of delegates for tables creating and their complexity. As I’ve started to use RxSwift, I met its component — RxDataSources. Now I can say that work with tables has never been easier.

RxDataSources

Imagine that you have to make a table that will have some sections…


When I started customize animations in my applications, I began to pay attention to details, especially to animations in other applications by big developers. Not long time ago I noticed transition animation for playing video screen in YouTube application.


On one of our project we had to work with Google API, especially Google Sheets API and Google Drive API.

The application has to be signed up by user who has an access to these files to start a work with private files.

The work with public files doesn’t require signing up, it needs to add suitable identificator, for example, API key.

In this article we’ll look at API data, how to work with it and make our lives easier.

Project creating in Google API Console:

Google API Console allows to manage different processes of your project as credentials creating…


In this part we will look at how variables of generic types are stored and copied and how method dispatch works with them.

Non-generic version

Pretty basic code. `drawACopy` takes a parameter of type `Drawable` and call its `draw` method — that’s it.

Generic version

Let’s look at the generic version of upper code:

Well, seems like nothing has changed. We can still just call the function `drawACopy` like it non-generic version and nothing more but the interesting things, as usual, are under the hood.

Generic code supports three major things:

1. static polymorphism (also known as parametric…


By the iOS 13 users are allowed to set colour mode — light or dark. So all the developing applications have to be adapted to the both designs. All the colours that were created with hex, colorLiteral are becoming unadapted to colour schemes. For this moment there is a number of approaches to create a “dynamic” colour.

UIElementColor

New colour standard for work with standard objects from UIKit is UIElementColor that available in iOS 13.

This standard contains colours that can be adapted to design’s choice. For example, it’s required to use UIColor.label colour for main text and UIColor.systemBackground …


There are different approaches to development. You can start to write a code immediately, make a layout and think about the structure and architecture while coding. This approach isn’t efficient, it allows to start at once but not to keep sufficient development pace.

It often appears that you need to change something in app architecture. But it’s expensive as you’ve spent a big amount of time for current solution and changes involve a big part of application.

It’s one of the most popular problems. When you work on such projects you’re thinking about rewriting it at all.


Fastlane is an instrument for automatic applications’ building, loading and release. By Fastlane you can make screens of different display sizes for stores.

The task is to automize testing on pull-request, build and its sending to testflight by merge to develop brunch and screenshots making.

Configuration

For work with Fastlane we have to have:

  • XCode command line tools, using command xcode-select-install
  • Fastlane itself, using command sudo gem install fastlane -N, if you have RubyGems, and brew cask install fastlane, if you have HomeBrew

After setting go to the project folder and write fastlane init.

BytePace

Mobile development: iOS, Android, Java, Swift, Objective-C, Design (Graphics, Web, Icon, Logo, UI/UX elements) www.bytepace.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store