Во Flutter очень много виджетов и в каждом есть свойство key — ключ. Используется оно не так часто и, на первый взгляд, может показаться несущественным. Но если использовать его неправильно, настанет хаос, разведутся баги, а приложение начнет вести себя неподобающе. Приставать к людям, наверное, не станет, но явно усложнит жизнь.
У ключей во Flutter есть несколько разновидностей. Выбрать правильный тип ключа для конкретной ситуации — сложная задача даже для опытных разработчиков. Так что идём смотреть, как правильно использовать ключи и избежать потенциальных проблем в работе приложения.
Сегодня с вами Никита Коробейников, iOS Team Lead в Surf. Никита объяснит, что такое Swift Macros, сравнит кодогенерацию от Apple со сторонними решениями: Liquid, Generamba, Sourcery и расскажет, как создать собственный Swift Macros.
Мы в Surf очень любим мобильные приложения и считаем, что за ними будущее. Сегодня Сергей Лазарев, наш инженер по автоматизированному тестированию, расскажет о важной, востребованной бизнесом функциональности приложения, и о том, как мы можем обеспечить уверенность в её качестве с помощью автотестов.
Привет, на связи команда Flutter-разработчиков Surf. Мы регулярно делимся с сообществом последними новостями о Dart и Flutter, и этот случай — не исключение. Предлагаем перевод официального материала о большом обновлении Flutter 3.16. Дополнили его своими комментариями.
Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет RxDart.
Меня зовут Виталий, я Flutter Team Lead в Surf. Это первая статья в цикле публикаций на тему RxDart.
Меня зовут Даша, я iOS-разработчик в Surf. Сегодня я освежу в вашей памяти философию и design виджетов. Подсвечу технические аспекты, которые помогут, если вы собираетесь делать свой первый виджет или хотите вдохнуть жизнь в старый. А ещё затрону несколько неочевидных, но важных тем.
Иногда может возникнуть необходимость использовать какую-то определенную версию Java для вашего проекта. Мы тоже в Surf с таким столкнулись при работе над одним из Flutter приложений-долгожителей. Решение нашлось в виде использования менеджера версий Java. Рассказываем, что за инструмент и как с ним базово работать на MacOS.
Всем привет, меня зовут Лиза, я — аналитик Surf. Имею пока что не самый долгий, но уже чрезвычайно насыщенный опыт работы в Fintech, EdTech и MedTech проектах. Я поделюсь с вами своим опытом проектирования и подготовки ТЗ для реализации in-app purchases.
Двухмерный скроллинг, ускорение работы с графикой, обновления от Material 3 и многое другое.
Привет! Это команда команда веб- и мобильной разработки Surf. Совсем недавно вышло обновление Flutter 3.13. Спешим поделиться с вами нашим переводом статьи со всеми новыми фичами 👇
Каждый Flutter разработчик рано или поздно сталкивался с DartPad. Но у него гораздо больше возможностей, чем просто запускать код. В этот раз поделимся как просто шарить код через DartPad.
Меня зовут Ахмедов Самир, я Flutter разработчик в Surf, и я расскажу о том, что же ещё умеет DartPad.
Привет, меня зовут Артём и я Frontend Team Lead в Surf. Я очень люблю две вещи: геймификацию и графики. Сейчас я работаю с людьми больше, чем с кодом, поэтому читаю много тематических статей. Вот так, тихим вечером, в одной из них я натолкнулся на идею объединения Moving Motivators и лепестковой диаграммы.
Татьяна стала Flutter-программистом в 47 лет — после нашего курса по Flutter. Теперь за её плечами работа на пяти е-ком и финтех проектах. А ещё она побывала по обе стороны: и в роли студента курса, и в роли ментора, который проверяет домашние задания.
В интервью Татьяна рассказывает о своём длинном пути в коммерческое программирование, недостатках и достоинствах Flutter-курса от Surf и делится наблюдениями о студентах.
Фреймворк для хранения данных Core Data был написан еще во времена Objective-C. Многим iOS-разработчикам хотелось иметь более современный инструмент, который бы поддерживал все новые возможности языка Swift. И теперь такой инструмент появился: на WWDC 2023 представили новый фреймворк SwiftData.
Разбираемся, что из себя представляет SwiftData, и пробуем его в тестовом приложении.
В понедельник стартовал WWDC 2023. Apple рассказала о последних новинках и изменениях, которые сделают жизнь разработчика и конечного пользователя лучше. Мы собрали для вас самые запоминающиеся детали.
2,5 года назад мы запустили собственный курс по Flutter. Идея была простая: во-первых, мы много вкладываемся в развитие Flutter-сообщества в России (с — скромность), и было логично систематизировать знания и опыт в виде курса. Во-вторых, мы хотели выращивать хороших разработчиков в наш Flutter-отдел: спрос на Flutter-проекты у клиентов рос, а количество разработчиков на Flutter в России было ничтожно мало.
Курс эти задачи решал, но со временем вскрылись проблемы, которые не были очевидны для нас на старте.
Рассказываем о нашем первом опыте в эдтехе: как была устроена первая версия курса, что пошло не так, чем мы вдохновились при создании второй версии и как провели работу над ошибками.
Swift Concurrency Instrument помогает наглядно увидеть, что происходит в приложении с асинхронным кодом. Пошагово рассказываем, как устроен этот инструмент, и на примерах показываем, чем он может быть полезен.
MVP – это minimum VIABLE product: минимально жизнеспособный продукт. Но почему зачастую происходит так, что вместо minimum VIABLE получается minimum VALUABLE — минимально полезный?
Рассказываем, что такое MVP, почему не всегда удается сделать именно минимально жизнеспособный продукт и на что стоит обратить внимание если проект едет в сторону minimum VALUABLE.
Dart 3 – самое мажорное обновление языка со времён Null Safety: он изменит многое в том, как мы пишем код и какие библиотеки используем. Рассказываем, как новые фичи помогут вам на практике и как от этого изменится способ взаимодействия с языком.
Инженеры Apple придумали прекрасные по быстродействию и производительности процессоры Apple Silicon (M1, M1 Max и так далее) на архитектуре arm64. Но за полученное быстродействие разработчикам пришлось платить своим временем.
Рассказываем, к каким проблемам мог привести апгрейд рабочего мака и что нужно учитывать с изобретением процессоров Apple Silicon.
Статья вдохновлена ограничениями в недавно вышедшем Xcode 14.3: запуск из-под Rosetta в нём стал deprecated.