Pull to refresh
102.41

Development of mobile applications *

Android, iOS, Windows Phone and so on

Show first
Rating limit
Level of difficulty

Security of mobile OAuth 2.0

Reading time12 min
Views14K
image

Popularity of mobile applications continues to grow. So does OAuth 2.0 protocol on mobile apps. It's not enough to implement standard as is to make OAuth 2.0 protocol secure there. One needs to consider the specifics of mobile applications and apply some additional security mechanisms.

In this article, I want to share the concepts of mobile OAuth 2.0 attacks and security mechanisms used to prevent such issues. Described concepts are not new but there is a lack of the structured information on this topic. The main aim of the article is to fill this gap.
Read more →
Total votes 34: ↑33 and ↓1+32
Comments0

In-App Updates Flexible Flow: Speed Up the App Update Process on Android

Reading time7 min
Views6.2K


With a variety of new tools and features announced at Android Dev Summit, special attention should be given to the In-App Updates (IAUs) API allowing developers to increase the speed of delivering features, bug-fixes and performance improvements to active users. Since this feature was finally released after Google I/O 2019, in this article I’ll deep dive on IAUs API, describe in details recommended user flows and provide with some code samples. Moreover, I'll share some experience of IAUs integration in the Pandao app, a marketplace platform for Chinese goods.
Read more →
Total votes 25: ↑25 and ↓0+25
Comments2

Implementing UI in iOS: Better, faster, and it scales

Reading time10 min
Views4.3K


A few months ago I came across a very interesting documentary series on Netflix called Abstract, they basically explore the output of professional designers from different sectors like architecture, graphic design, fashion, … in their workplaces.

It was easy to spot some similarities in the work of designers from other fields with that of an iOS developer who implements user interfaces. For example, when a designer is creating something that is big enough to be broken down into smaller parts, using a strategy like ‘Divide and Conquer’ is key to being able to focus on smaller parts that will be assembled at later stages in the process.

Breaking down a whole design into smaller subunits allows us to think about each problem in isolation, removing any dependencies between the components. But the full picture also needs to be present throughout the whole process, otherwise there can be problems when the time comes to fit everything back together.

On the other hand, while watching Abstract I noticed that in the design process for objects like a shoes, banners or buildings the final design remains fixed for the lifetime of the product. The design of a Nike shoe isn’t going to change after it is released and there aren’t going to be any updates once it’s on the shelf in the shop. Sometimes a design remains unchanged even 20 years later, and the product is still sound.
Read more →
Total votes 28: ↑27 and ↓1+26
Comments1

Server-provided animations in iOS apps

Reading time5 min
Views2.7K


Hi everyone! About six months ago we launched one of Badoo’s most exciting features: Live Streaming. One of its main functionalities is that viewers can send gifts to their favourite streamers to express their appreciation. We wanted to make the gifts as fancy and as engaging as possible, so it was decided to make some of them really lively, and by this I mean animated. And to engage people even more, we, the Badoo team, planned to update those gifts and animations every few weeks.

As an iOS engineer, you might have already guessed the challenge we faced here: the need to add new animations and remove the old ones was going to require a fair amount of work from the client side. We’d need both the Android and the iOS development teams for every release — which, when combined with the amount of time App Store reviews and approval often take, would mean it might be days before each update could go live. But we solved the problem, and I’m going to explain to you how.

Solution overview


By this stage, we already knew how to export Adobe After Effects (AAE) animations into the format readable by our iOS app using the Lottie library. This time though, we went a bit further: we decided to create a kind of animation storage service, available via the internet. In other words, we would store all the actual animations on the server and deliver them to the client apps on demand:
Read more →
Total votes 33: ↑32 and ↓1+31
Comments1

Gotta Go Fast: Building for Speed in iOS. Part 1

Reading time7 min
Views2.6K


There are a lot of tips and tricks that allow iOS developers to know how to make performance optimizations to get animations in applications run smoothly. After reading the article you will realize what 16.67 milliseconds for iOS developer means, and which tools are better to use to track down the code.

The article is based on the keynote talk delivered by Luke Parham, currently an iOS engineer at Apple and an author of tutorials for iOS development on RayWenderlich.com, at the International Mobile Developers Conference MBLT DEV 2017.
Total votes 26: ↑26 and ↓0+26
Comments1

«Чемодан из крокодиловой кожи» или «мешок с аллигатором»: сравнение подключенных к Lokalise онлайн-переводчиков

Reading time9 min
Views3.7K
Пользователи Lokalise могут выбирать, локализовать им свой продукт с привлечением наёмных переводчиков площадки, с собственной командой или исключительно своими силами. Именно для упрощения процедуры локализации тех проектов, где профессиональные переводчики не нужны и достаточно собственных знаний языка, мы и предоставляем нашим пользователям возможность использовать встроенные в Lokalise популярные системы машинного перевода от Google, Yandex, Microsoft и SDL. О том, как переводят эти системы, мы сегодня и поговорим на конкретных примерах.



Google Machine Translate/Google Neural Translate


Около полугода назад компания Google заявила о подключении очередного набора языков к нейронной сети своего сервиса Google Translate, в том числе и русского. Событие это стало знаковым для всего русскоязычного интернет-пространства: ежедневно тысячи человек пользуются встроенным в Chrome переводчиком Google или идут на сайт Google Translate за переводом иностранного текста на родной язык.
Read more →
Total votes 25: ↑25 and ↓0+25
Comments2
Change theme settings

Authors' contribution