Я разлюбил Flutter
У меня было подозрение, что этим все и кончится, что я напишу именно то, что пишу сейчас. Но я сделан из того же теста, что и любой другой инженер-программист, поэтому я вскочил на подножку уходящего поезда, обрадовался, потом обрадовался еще больше и даже стал евангелистом. Евангелистом Flutter. Те, кто следит за мной на Medium и LinkedIn, знают, о чем я говорю. Я рекламировал Flutter как второе пришествие, я был в восторге от него и использовал его примерно 3 года. Но сомнения потихоньку закрадывались, и сегодня, спустя годы, я должен стать столь же честным, сколь был восторженным, и признаться — у меня есть сомнения в жизнеспособности Flutter.
Позвольте мне начать с того, что концептуально Flutter по-прежнему — на мой взгляд — лучший кроссплатформенный фреймворк всех времен, и прямо сейчас я не вижу никакой реальной альтернативы. Хотя, никогда не говори никогда. Мы также не видели альтернативы до тех пор, пока не появился Flutter. Скептики также утверждали, что он никогда не приживется, пока это не произошло. И я был бы слишком самонадеянным, чтобы утверждать, что Flutter станет последней кроссплатформенной средой разработки.
Мои растущие сомнения относительно Flutter не имеют ничего общего с самим Flutter. Они все вокруг него.
• Владелец Flutter, Google
• Kotlin Multiplatform
• Фрагментация
• Dart
• Исполнение
• Является ли Flutter хорошим выбором?
Статья: https://apptractor.ru/develop/cross-platform-development/ya-razlyubil-flutter.html
Платформа: кроссплатформа/Flutter
У меня было подозрение, что этим все и кончится, что я напишу именно то, что пишу сейчас. Но я сделан из того же теста, что и любой другой инженер-программист, поэтому я вскочил на подножку уходящего поезда, обрадовался, потом обрадовался еще больше и даже стал евангелистом. Евангелистом Flutter. Те, кто следит за мной на Medium и LinkedIn, знают, о чем я говорю. Я рекламировал Flutter как второе пришествие, я был в восторге от него и использовал его примерно 3 года. Но сомнения потихоньку закрадывались, и сегодня, спустя годы, я должен стать столь же честным, сколь был восторженным, и признаться — у меня есть сомнения в жизнеспособности Flutter.
Позвольте мне начать с того, что концептуально Flutter по-прежнему — на мой взгляд — лучший кроссплатформенный фреймворк всех времен, и прямо сейчас я не вижу никакой реальной альтернативы. Хотя, никогда не говори никогда. Мы также не видели альтернативы до тех пор, пока не появился Flutter. Скептики также утверждали, что он никогда не приживется, пока это не произошло. И я был бы слишком самонадеянным, чтобы утверждать, что Flutter станет последней кроссплатформенной средой разработки.
Мои растущие сомнения относительно Flutter не имеют ничего общего с самим Flutter. Они все вокруг него.
• Владелец Flutter, Google
• Kotlin Multiplatform
• Фрагментация
• Dart
• Исполнение
• Является ли Flutter хорошим выбором?
Статья: https://apptractor.ru/develop/cross-platform-development/ya-razlyubil-flutter.html
Платформа: кроссплатформа/Flutter
👏4👍2🔥1😁1
Yattee - видеоплеер, ориентированный на конфиденциальность, для iOS, tvOS и macOS. Сделан на SwiftUI, из фич - очередь просмотра и история, кастомные контролы для плеера, жесты, поддержка 4К, картинка в картинке, фоновое воспроизведение аудио.
Yattee на GitHub: https://github.com/yattee/yattee
Платформа: iOS
⭐️: 1.2K
Yattee на GitHub: https://github.com/yattee/yattee
Платформа: iOS
⭐️: 1.2K
Circuit - это простая, легкая и расширяемая архитектура от Slack для создания приложений Kotlin, основанных на Compose. Основными компонентами Circuit являются интерфейсы Presenter и UI. Правила их работы:
1. Presenter и UI не могут напрямую обращаться друг к другу. Они могут обмениваться данными только посредством передачи состояний и событий.
2. UI являются Compose-firstю
3. Презентеры тоже Compose-first. Они не генерируют Compose UI, но используют среду выполнения Compose для управления и генерирования состояний.
4. И Presenter, и UI имеют по одной компонуемой функции.
5. В большинстве случаев Circuit автоматически подключает презентеров и UI.
6. Presenter и UI являются дженериками, причем дженерики определяют типы UiState, с которыми они взаимодействуют.
7. Они управляются Screen-ами. Один запускает новую пару Presenter/Ui, запрашивая их с заданным Screen, который они понимают.
Circuit на GitHub: https://github.com/slackhq/circuit
Сайт: https://slackhq.github.io/circuit/
Платформа: Android
⭐️: 562
1. Presenter и UI не могут напрямую обращаться друг к другу. Они могут обмениваться данными только посредством передачи состояний и событий.
2. UI являются Compose-firstю
3. Презентеры тоже Compose-first. Они не генерируют Compose UI, но используют среду выполнения Compose для управления и генерирования состояний.
4. И Presenter, и UI имеют по одной компонуемой функции.
5. В большинстве случаев Circuit автоматически подключает презентеров и UI.
6. Presenter и UI являются дженериками, причем дженерики определяют типы UiState, с которыми они взаимодействуют.
7. Они управляются Screen-ами. Один запускает новую пару Presenter/Ui, запрашивая их с заданным Screen, который они понимают.
Circuit на GitHub: https://github.com/slackhq/circuit
Сайт: https://slackhq.github.io/circuit/
Платформа: Android
⭐️: 562
Теория «разбитых окон» в разработке ПО
Если не принимать никаких мер, технический долг начинает расти, и окна все больше разбиваются. Проблемы распространяются в коде через имитацию («Я только что скопировал этот подход»), повторение (неверные предположения) или просто копирование + вставку.
В результате система становится жесткой, хрупкой, неподвижной и менее устойчивой к изменениям. Каждое новое изменение сопряжено с большими затратами, увеличением заменяемых деталей и, следовательно, высоким риском отказа.
Статья: https://apptractor.ru/okn-brk
Платформа: разработка
Если не принимать никаких мер, технический долг начинает расти, и окна все больше разбиваются. Проблемы распространяются в коде через имитацию («Я только что скопировал этот подход»), повторение (неверные предположения) или просто копирование + вставку.
В результате система становится жесткой, хрупкой, неподвижной и менее устойчивой к изменениям. Каждое новое изменение сопряжено с большими затратами, увеличением заменяемых деталей и, следовательно, высоким риском отказа.
Статья: https://apptractor.ru/okn-brk
Платформа: разработка
This media is not supported in your browser
VIEW IN TELEGRAM
SpoilerViewExample - пример реализации затемнения и открытия спойлеров в Telegram на SwiftUI.
SpoilerViewExample на GitHub: https://github.com/artemnovichkov/SpoilerViewExample
Платформа: iOS
⭐️: 4
SpoilerViewExample на GitHub: https://github.com/artemnovichkov/SpoilerViewExample
Платформа: iOS
⭐️: 4
Видео и подкасты за неделю
• Подводные камни локализации iOS-приложений, или Как мы локализовали Яндекс Еду
• Пет проекты для всех
• SwiftUI Page Curl Swipe Animation - Swipe to Delete
• iOS Design with Midjourney and Figma
• Can ChatGPT write better SwiftUI code than you?
• Fun design with Lazy layouts: Community tip
• Compose Layouts and Modifiers: Live Q&A
• The FULL Beginner to Pro Roadmap for Android Development in 2023
• Smart Casts with Kotlin Contracts
• Как устроены собеседования в IT
• Сербия рай для релокантов? Как эта страна стала центром разработки
• Podlodka #312: производство лекарств
• Podlodka #311: зачем программисту YouTube
• Бизнес на мобильных приложениях: выбор ниши и региона
Посмотрели какое-то другое интересное видео? Отправьте боту!
• Подводные камни локализации iOS-приложений, или Как мы локализовали Яндекс Еду
• Пет проекты для всех
• SwiftUI Page Curl Swipe Animation - Swipe to Delete
• iOS Design with Midjourney and Figma
• Can ChatGPT write better SwiftUI code than you?
• Fun design with Lazy layouts: Community tip
• Compose Layouts and Modifiers: Live Q&A
• The FULL Beginner to Pro Roadmap for Android Development in 2023
• Smart Casts with Kotlin Contracts
• Как устроены собеседования в IT
• Сербия рай для релокантов? Как эта страна стала центром разработки
• Podlodka #312: производство лекарств
• Podlodka #311: зачем программисту YouTube
• Бизнес на мобильных приложениях: выбор ниши и региона
Посмотрели какое-то другое интересное видео? Отправьте боту!
AppTractor
Подводные камни локализации iOS-приложений, или Как мы локализовали Яндекс Еду
В докладе расскажем о том, с какими особенностями локализации Яндекс Еды для iOS нам пришлось столкнуться в процессе.
MilitaryJet - репозиторий включает в себя готовые примеры простого написания тестов UI для Jetpack Compose с защитой от ошибок. Каждый компонент пользовательского интерфейса, их возможное поведение и состояние можно подвергнуть тестированию. С помощью этого репозитория вы можете выполнять любое автоматизированное тестирование пJetpack Compose UI — т. е. вы можете тестировать ВСЕ (как видимое, так и невидимое, т. е. вещи, которые не видны в пользовательском интерфейсе, но существуют в узле — например, описание контента) в пользовательском интерфейсе.
MilitaryJet на GitHub: https://github.com/emperorfin/MilitaryJet
Платформа: Android
⭐️: 8
MilitaryJet на GitHub: https://github.com/emperorfin/MilitaryJet
Платформа: Android
⭐️: 8
GitHub
GitHub - emperorfin/MilitaryJet: This repo includes production ready samples of my unopinionated way of simply writing military…
This repo includes production ready samples of my unopinionated way of simply writing military-grade bug-proof Jetpack Compose UI tests. - emperorfin/MilitaryJet
Forwarded from Mobile Development by AppTractor
1 апреля пройдёт Yet Another Mobile Party — онлайн-стрим про мобильную разработку от Яндекса с гостями из разных компаний.
Yet Another Mobile Party — онлайн видеоподкаст без докладов и презентаций Спикеры Яндекса и наши гости из других компаний соберутся за круглым столом, поделятся новостями, обсудят карьерный путь и актуальные технологии.
Ищите на карточках темы и спикеров прямого эфира:)
А чтобы присоединиться и задать свои вопросы спикерам, нужно — зарегистрироваться и подключиться к трансляции 1 апреля
Программа и регистрация
Yet Another Mobile Party — онлайн видеоподкаст без докладов и презентаций Спикеры Яндекса и наши гости из других компаний соберутся за круглым столом, поделятся новостями, обсудят карьерный путь и актуальные технологии.
Ищите на карточках темы и спикеров прямого эфира:)
А чтобы присоединиться и задать свои вопросы спикерам, нужно — зарегистрироваться и подключиться к трансляции 1 апреля
Программа и регистрация
🤡2
OpenAISwift - обертка для ChatGPT и OpenAI HTTP API. Упрощает использование чат-бота и позволяет получать дополнения для текста, вести диалог, генерировать изображения, редактировать тексты, проводить классификацию текстов.
OpenAISwift на GitHub: https://github.com/adamrushy/OpenAISwift
Платформа: iOS
⭐️: 922
OpenAISwift на GitHub: https://github.com/adamrushy/OpenAISwift
Платформа: iOS
⭐️: 922
GitHub
GitHub - adamrushy/OpenAISwift: This is a wrapper library around the ChatGPT and OpenAI HTTP API
This is a wrapper library around the ChatGPT and OpenAI HTTP API - adamrushy/OpenAISwift
Современная Android-разработка в 2023 году
Всем привет, я хотел бы поделиться с вами тем, как создавать приложения для Android с учетом последних тенденций 2023 года:
• Kotlin
• Jetpack Compose
• Android Jetpack
• Material Design
• Чистая архитектура
• Архитектурные паттерны для уровня представления
• Внедрение зависимостей
• Модульность
• Сеть
• Сериализация
• Загрузка изображения
• Реактивность/управление потоками
• Локальное хранение данных
• Тестирование
• Оптимизация R8
• Play Feature Delivery
• Адаптивная верстка
• Производительность
• Обновления в приложении
• Отзывы в приложении
• Доступность
• Безопасность
• Каталоги версий
• Логирование
• Линтер
Статья: https://apptractor.ru/drddev2023
Платформа: Android
Всем привет, я хотел бы поделиться с вами тем, как создавать приложения для Android с учетом последних тенденций 2023 года:
• Kotlin
• Jetpack Compose
• Android Jetpack
• Material Design
• Чистая архитектура
• Архитектурные паттерны для уровня представления
• Внедрение зависимостей
• Модульность
• Сеть
• Сериализация
• Загрузка изображения
• Реактивность/управление потоками
• Локальное хранение данных
• Тестирование
• Оптимизация R8
• Play Feature Delivery
• Адаптивная верстка
• Производительность
• Обновления в приложении
• Отзывы в приложении
• Доступность
• Безопасность
• Каталоги версий
• Логирование
• Линтер
Статья: https://apptractor.ru/drddev2023
Платформа: Android
Smart AutoClicker - это приложение для Android, позволяющее автоматизировать повторяющиеся задачи, автоматически кликая на экран. В отличие от обычного приложения автокликер не основан на таймерах для выполнения кликов. Вместо этого приложение позволяет захватить изображение с части экрана и выполнить тап, как только это изображение будет обнаружено снова. Клики можно организовывать в сценарии, выполнять нажатия, свайпы, модифицировать состояния, ставить условия и пр.
Smart AutoClicker на GitHub: https://github.com/Nain57/Smart-AutoClicker
Платформа: Android
⭐️: 581
Smart AutoClicker на GitHub: https://github.com/Nain57/Smart-AutoClicker
Платформа: Android
⭐️: 581
👍2
SunKit - это библиотека Swift, которая использует математику и тригонометрию для вычисления всех возможных сведений о Солнце (есть аналогичный и про Луну). Для вычисления восхода, заката, золотого часа, первого света, азимутов и всего прочего нужен только CLLocation и часовой пояс места.
Этот пакет был разработан командой учеников, относительно недавно освоивших язык программирования Swift, что означает, что в нем может быть много места для улучшений. SunKit был впервые разработан как часть более крупного проекта Sunlitt. Несмотря на то, что Sunlitt не предназначен для выпуска в качестве Open Source, авторы решили выделить фундаментальную логику приложения и сделать из нее библиотеку с открытым исходным кодом.
SunKit на GitHub: https://github.com/Sunlitt/SunKit
Платформа: iOS
⭐️: 51
Этот пакет был разработан командой учеников, относительно недавно освоивших язык программирования Swift, что означает, что в нем может быть много места для улучшений. SunKit был впервые разработан как часть более крупного проекта Sunlitt. Несмотря на то, что Sunlitt не предназначен для выпуска в качестве Open Source, авторы решили выделить фундаментальную логику приложения и сделать из нее библиотеку с открытым исходным кодом.
SunKit на GitHub: https://github.com/Sunlitt/SunKit
Платформа: iOS
⭐️: 51
🤔1
Тестирование производительности Swift-кода с помощью XCTest
В Swift мы можем проводить тестирование производительности с помощью фреймворка XCTest, который является частью среды разработки Xcode. XCTest — это фреймворк для модульного тестирования для Apple iOS и OS X, который позволяет разработчикам создавать и запускать автоматические тесты. Он предоставляет полный набор инструментов для написания, запуска и анализа модульных тестов и тестов производительности для Swift-приложений. В этой статье мы узнаем, как проводить тестирование производительности в Swift с помощью фреймворка XCTest.
Статья: https://apptractor.ru/xctest-perf
Платформа: iOS
В Swift мы можем проводить тестирование производительности с помощью фреймворка XCTest, который является частью среды разработки Xcode. XCTest — это фреймворк для модульного тестирования для Apple iOS и OS X, который позволяет разработчикам создавать и запускать автоматические тесты. Он предоставляет полный набор инструментов для написания, запуска и анализа модульных тестов и тестов производительности для Swift-приложений. В этой статье мы узнаем, как проводить тестирование производительности в Swift с помощью фреймворка XCTest.
Статья: https://apptractor.ru/xctest-perf
Платформа: iOS
👍1
Kotlin Onboarding — обучающий курс по Kotlin прямо в Intellij
Цель курса — научиться писать простые консольные приложения на Kotlin и ознакомиться с синтаксисом и возможностями языка. В качестве предварительного условия вам необходимо базовое понимание программирования на любом языке, поскольку курс не объясняет подробно фундаментальные понятия, такие как переменные, функции или циклы, а скорее предлагает простые напоминания об их определениях и демонстрирует, как они могут быть использованы в Kotlin.
В рамках курса вы реализуете шесть консольных приложений.
Статья: https://apptractor.ru/kotlin-onboarding
Платформа: Kotlin/обучение
Цель курса — научиться писать простые консольные приложения на Kotlin и ознакомиться с синтаксисом и возможностями языка. В качестве предварительного условия вам необходимо базовое понимание программирования на любом языке, поскольку курс не объясняет подробно фундаментальные понятия, такие как переменные, функции или циклы, а скорее предлагает простые напоминания об их определениях и демонстрирует, как они могут быть использованы в Kotlin.
В рамках курса вы реализуете шесть консольных приложений.
Статья: https://apptractor.ru/kotlin-onboarding
Платформа: Kotlin/обучение
KutePreferences - библиотека для создания экрана настроек. Из особенностей - Kotlin, Compose и Material Design 3, большое количество предопределенных типов настроек, поиск, поддержка стилей.
KutePreferences на GitHub: https://github.com/markusressel/KutePreferences
Платформа: Android
⭐️: 5
KutePreferences на GitHub: https://github.com/markusressel/KutePreferences
Платформа: Android
⭐️: 5
🔥1
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
The Worst Design Pattern in iOS Dev•
(iOS En)
3 MISTAKES to avoid when using Optionals in Swift•
(iOS En)
SwiftUI Infinite Carousel - Infinite Page Tab View•
(And Ru)
Разработка рекламного SDK — Яндекс Mobile Ads SDK•
(And En)
How to Implement a Context Drop Down Menu In Jetpack Compose•
(And En)
Is There a Future For Mobile Development?•
(Cod Ru)
Онлайн-баттл: алгоритмы•
(Cod Ru)
Podlodka #313: может ли программист стать художником?•
(Dev Ru)
Как сократить Time To Market и релизить новые фичи быстро•
(Dev Ru)
Avito Product meetup #6: репутация пользователей•
(Job Ru)
Обман в резюме: как ложное заявление о работе может повлиять на карьеру в IT•
(Dsn En)
UI Design using MidjourneyПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
YouTube
The Most Misused Design Pattern in Swift
Go to https://squarespace.com/seanallen to save 10% off your first purchase of a website or domain using code SEANALLEN.
The Singleton design pattern in iOS development has a bad reputation. Many developers say to never use a Singleton, but I don't agree.…
The Singleton design pattern in iOS development has a bad reputation. Many developers say to never use a Singleton, but I don't agree.…
👍1