Рубрика «adnroid»

Экспрессивность — интересное свойство языков программирования. С помощью простого комбинирования выражений можно добиться впечатляющих результатов. Некоторые языки осмысленно отвергают идеи выразительности, но Kotlin точно не является таким языком.

С помощью базовых конструкций языка и небольшого количества сахара мы попытаемся воссоздать SQL в синтаксисе Kotlin настолько близко, насколько это возможно.

vs

Ссылка на GitHub для нетерпеливых

Нашей целью будет помочь программисту отловить определенное подмножество ошибок на этапе компиляции. Kotlin, являясь строготипизованным языком, поможет нам уйти от невалидных выражений в структуре SQL запроса. Как бонус, мы получим еще защиту от опечаток и помощь от IDE в написании запросов. Исправить недостатки SQL полностью не получится, но устранить некоторые проблемные места вполне возможно.

Данная статья расскажет про библиотеку на Kotlin, которая позволяет писать SQL запросы в синтаксисе Kotlin. Также, мы немного посмотрим на внутренности библиотеки, чтобы понять как это работает.

Читать полностью »

image

Продажей и бронированием билетов на официальном сайте перевозчика уже давно никого не удивить. Но на дворе не 2010, а 2017 год. И пока граждане не без удовольствия наблюдают за ростом цен на нефть и с неудовольствием – за ценами на многое другое, «Российские железные дороги» решили модернизировать свое мобильное направление.

У РЖД было свое приложение и раньше, причем не для сферического «Йотафона» или «Эльбруса», а для вполне себе современной платформы Android, обладающей крупнейшей пользовательской базой в России. Добавить поддержку других платформ планировалось позднее.

Это «позднее» наступило полгода назад. Мы выиграли заказ на разработку обновленного приложения под Android и две другие мобильные операционные системы: iOS и многими не вполне заслуженно гонимую Windows Phone. Несколько месяцев активной разработки, тестирования и доработок – бета-версия готова.

Про то, как мы это сделали, расскажем под катом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js