Pull to refresh
59
41
Send message

jenv — удобный инструмент для управления версиями Java

Level of difficultyEasy
Reading time4 min
Views3.6K

Иногда может возникнуть необходимость использовать какую-то определенную версию Java для вашего проекта. Мы тоже в Surf с таким столкнулись при работе над одним из Flutter приложений-долгожителей. Решение нашлось в виде использования менеджера версий Java. Рассказываем, что за инструмент и как с ним базово работать на MacOS.

Читать далее
Rating0
Comments13

In-app purchases — за что и почему? Взгляд аналитика

Level of difficultyMedium
Reading time11 min
Views4.7K

Всем привет, меня зовут Лиза, я — аналитик Surf. Имею пока что не самый долгий, но уже чрезвычайно насыщенный опыт работы в Fintech, EdTech и MedTech проектах. Я поделюсь с вами своим опытом проектирования и подготовки ТЗ для реализации in-app purchases.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Flutter 3.13. Что нового?

Level of difficultyMedium
Reading time11 min
Views5.1K

Двухмерный скроллинг, ускорение работы с графикой, обновления от Material 3 и многое другое.

Привет! Это команда команда веб- и мобильной разработки Surf. Совсем недавно вышло обновление Flutter 3.13. Спешим поделиться с вами нашим переводом статьи со всеми новыми фичами ?

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Flutter-разработчикам: показываем, как шарить код через DartPad

Level of difficultyMedium
Reading time6 min
Views2.5K

Каждый Flutter разработчик рано или поздно сталкивался с DartPad. Но у него гораздо больше возможностей, чем просто запускать код. В этот раз поделимся как просто шарить код через DartPad.

Меня зовут Ахмедов Самир, я Flutter разработчик в Surf, и я расскажу о том, что же ещё умеет DartPad.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments0

Как я сделал приложение для себя, а оно понравилось многим

Level of difficultyEasy
Reading time4 min
Views11K

Привет, меня зовут Артём и я Frontend Team Lead в Surf. Я очень люблю две вещи: геймификацию и графики. Сейчас я работаю с людьми больше, чем с кодом, поэтому читаю много тематических статей. Вот так, тихим вечером, в одной из них я натолкнулся на идею объединения Moving Motivators и лепестковой диаграммы.

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments16

«Я всегда считала, что я старая», или история о том, что стать профессиональным разработчиком никогда не поздно

Level of difficultyEasy
Reading time6 min
Views15K

Татьяна стала Flutter-программистом в 47 лет — после нашего курса по Flutter. Теперь за её плечами работа на пяти е-ком и финтех проектах. А ещё она побывала по обе стороны: и в роли студента курса, и в роли ментора, который проверяет домашние задания.

В интервью Татьяна рассказывает о своём длинном пути в коммерческое программирование, недостатках и достоинствах Flutter-курса от Surf и делится наблюдениями о студентах.

Читать далее
Total votes 24: ↑9 and ↓15-3
Comments12

На смену CoreData пришёл новый фреймворк SwiftData. Разбираемся, как он упрощает хранение данных

Reading time7 min
Views7.5K

Фреймворк для хранения данных Core Data был написан еще во времена Objective-C. Многим iOS-разработчикам хотелось иметь более современный инструмент, который бы поддерживал все новые возможности языка Swift. И теперь такой инструмент появился: на WWDC 2023 представили новый фреймворк SwiftData.

Разбираемся, что из себя представляет SwiftData, и пробуем его в тестовом приложении.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

Новенькое с WWDC23: Отчёты о тестировании и аудит доступности

Reading time7 min
Views1.9K

Вот и закончилась очередная конференция Apple WWDC23, на которой ребята из Apple рассказали об изменениях Xcode и Swift. 

Поговорим о фичах Xcode 15, которые помогут добавить accessibility в приложение и поддерживать ваши тесты зелеными.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Горячие новинки WWDC 2023

Reading time4 min
Views2.7K

В понедельник стартовал WWDC 2023. Apple рассказала о последних новинках и изменениях, которые сделают жизнь разработчика и конечного пользователя лучше. Мы собрали для вас самые запоминающиеся детали.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments1

Аутсорс-разработчики и эдтех: какие шишки мы набили, сделав курс по Flutter, и к каким выводам пришли

Reading time10 min
Views3.7K

2,5 года назад мы запустили собственный курс по Flutter. Идея была простая: во-первых, мы много вкладываемся в развитие Flutter-сообщества в России (с — скромность), и было логично систематизировать знания и опыт в виде курса. Во-вторых, мы хотели выращивать хороших разработчиков в наш Flutter-отдел: спрос на Flutter-проекты у клиентов рос, а количество разработчиков на Flutter в России было ничтожно мало.

Курс эти задачи решал, но со временем вскрылись проблемы, которые не были очевидны для нас на старте.    

Рассказываем о нашем первом опыте в эдтехе: как была устроена первая версия курса, что пошло не так, чем мы вдохновились при создании второй версии и как провели работу над ошибками.

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments0

Swift Concurrency Instrument: чем он полезен iOS-разработчику

Level of difficultyMedium
Reading time5 min
Views3.4K

Swift Concurrency Instrument помогает наглядно увидеть, что происходит в приложении с асинхронным кодом. Пошагово рассказываем, как устроен этот инструмент, и на примерах показываем, чем он может быть полезен.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

MVP: как получить «минимально жизнеспособный», а не «минимально полезный» продукт

Reading time8 min
Views4.9K

MVP –  это minimum VIABLE product: минимально жизнеспособный продукт. Но почему зачастую происходит так, что вместо minimum VIABLE получается minimum VALUABLE — минимально полезный? 

Рассказываем, что такое MVP, почему не всегда удается сделать именно минимально жизнеспособный продукт и на что стоит обратить внимание если проект едет в сторону minimum VALUABLE.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

Dart 3 на практике: что принесёт нам мажорное обновление языка

Level of difficultyMedium
Reading time13 min
Views22K

Dart 3 – самое мажорное обновление языка со времён Null Safety: он изменит многое в том, как мы пишем код и какие библиотеки используем. Рассказываем, как новые фичи помогут вам на практике и как от этого изменится способ взаимодействия с языком.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments25

Правильная поддержка Apple Silicon: как избежать проблем при апгрейде с Intel (x86_64) на Apple (arm64)

Level of difficultyMedium
Reading time6 min
Views3.6K

Инженеры Apple придумали прекрасные по быстродействию и производительности процессоры Apple Silicon (M1, M1 Max и так далее) на архитектуре arm64. Но за полученное быстродействие разработчикам пришлось платить своим временем.  

Рассказываем, к каким проблемам мог привести апгрейд рабочего мака и что нужно учитывать с изобретением процессоров Apple Silicon.

Статья вдохновлена ограничениями в недавно вышедшем Xcode 14.3: запуск из-под Rosetta в нём стал deprecated.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments3

Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter

Level of difficultyEasy
Reading time9 min
Views4.3K

Сделать стриминг на Flutter — та ещё задача. Недостаточная функциональность пакета видеоплеера, сложности с реализацией фичи картинка-в-картинке, ошибки из-за особенностей платформ — список проблем можно перечислять долго.

Часть багов специфична для Flutter, часть — неспецифична для Flutter, но специфична для натива. Поэтому статья — не только для флаттеристов и сочувствующих. Нативные разработчики, не спешите скроллить ленту дальше ;) Сейчас всё расскажем.

Читать далее
Total votes 16: ↑15 and ↓1+16
Comments11

Нейронные сети и Android: как их создавать и использовать в мобильных приложениях

Level of difficultyMedium
Reading time9 min
Views12K

Тренд на нейросети не обошёл стороной и мобильные приложения. Многие фичи — например, распознавание изображений и речи, улучшение качество фото и видео — созданы с применением нейронных сетей.

Рассказываем про нейросети в Android-приложениях: какие есть инструменты для внедрения, как создавать свои модели и использовать готовые.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

Как не «сломать» вёрстку Flutter-приложения из-за textScaleFactor

Level of difficultyEasy
Reading time4 min
Views3.2K

Иногда на смартфоне неожиданно «ломается» вёрстка приложения, при этом в эмуляторе всё работает корректно. Рассказываем, в чём может быть причина.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

Async/await в iOS: что нам дает неблокирование потоков

Reading time7 min
Views3.1K

Разработчикам, только начинающим работать с Async/await, бывает довольно сложно разобраться в главной его особенности — неблокировании потоков.

Рассказываем, что такое неблокирование потоков, как оно работает и какие преимущества даёт Async/await при работе с большим количеством задач.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments2

Особенности работы мобильного аналитика в банковских проектах

Reading time10 min
Views2.8K

Чем проект банковского мобильного приложения отличается от других? Та же работа с заказчиком, уточнение и описание требований, проектирование функциональностей, согласования ТЗ… Но так кажется только на первый взгляд. 

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments2

Information

Rating
180-th
Works in
Registered
Activity