Вчера Apple представили очередное обновление линейки Mac и новые процессоры M2 Pro и M2 Max
Уже привычно, что они делают свои компьютеры все быстрее и мощнее, но при этом более энергоэффективными. НО! Удивило то, что это произошло как будто это какое-то минорное обновление - через видео и обновление сайта, а не через презентацию.
Хотя презентацию им стоило сделать, так как сегодня они выпустили еще 1 обновление - второе поколение больших HomePod.
P.S. Мысли по поводу нового железа опишу в следующем посте
Уже привычно, что они делают свои компьютеры все быстрее и мощнее, но при этом более энергоэффективными. НО! Удивило то, что это произошло как будто это какое-то минорное обновление - через видео и обновление сайта, а не через презентацию.
Хотя презентацию им стоило сделать, так как сегодня они выпустили еще 1 обновление - второе поколение больших HomePod.
P.S. Мысли по поводу нового железа опишу в следующем посте
👍4
Кажется, что скоро в РФ блоканут Google. Уже второй день наблюдаю, что некоторые сайты гугловские не открываются либо не грузят некоторые файлы.
Вчера DartPub (pub.dev) только HTML отдавал либо не грузился совсем. Сегодня проблемы с Google Play (причем не только с маркетом, но и с консолью разработчика)
Вчера DartPub (pub.dev) только HTML отдавал либо не грузился совсем. Сегодня проблемы с Google Play (причем не только с маркетом, но и с консолью разработчика)
🤯1
Safari в последней версии macOS - это какой-то кошмар.
Я выше уже писал, что у меня DartPub отдавал только HTML. Так вот, это повторяется спустя несколько дней. Но вчера появилась еще одна проблема, которая мешает работать - до конца не прогружается Bitbucket, не грузит некоторые запросы и шрифт. Причем, когда я пробую через другой браузер, то все нормально.
Стоит переходить на Google Chrome?
Я выше уже писал, что у меня DartPub отдавал только HTML. Так вот, это повторяется спустя несколько дней. Но вчера появилась еще одна проблема, которая мешает работать - до конца не прогружается Bitbucket, не грузит некоторые запросы и шрифт. Причем, когда я пробую через другой браузер, то все нормально.
Стоит переходить на Google Chrome?
🤔2
В итоге, обошлось малой кровью. Почистил кеш Safari, прописал гугловские DNS сервера (8.8.8.8 и 8.8.4.4 если кому тоже надо) и отключил поддержку IPv6 (перевел в ручной режим из автоматического). Сначала думал, что не сработает, а в итоге, заработало. Но есть один минус - вышло со всех сайтов.
По блокировке Google я оказался не прав. Почему-то в macOS и iOS не работает SSL для него, на компьютерах с Windows все нормально. Скорее всего в новом обновлении заработает, на что и остается надеяться.
По блокировке Google я оказался не прав. Почему-то в macOS и iOS не работает SSL для него, на компьютерах с Windows все нормально. Скорее всего в новом обновлении заработает, на что и остается надеяться.
Вчера ночью прошел Flutter Forward и хочется поделиться своими впечатлениями от планируемых к запуску фичах Dart и Flutter.
Как я и думал, обновление Dart 3 будет очень масштабным:
- Новые фишки языка, что-то из этого синтаксический сахар, что-то будет очень полезно в работе. Например, sealed классы уменьшат использование кодогенерации в множестве проектов (сейчас для это используется freezed), или новое написание switch case (и использование case внутри if) - очень полезная вещь, чтобы не загружать свой код лишним
- Поддержка компиляции в WASM. Flutter Web станет еще более производительным, что позволит выводить в прод по-настоящему крутые проекты
- Поддержка RISC-V. Для меня, как для разработчика приложений для iOS и Android это спорная вещь, так как не известно, как будет применяться
Как я и думал, обновление Dart 3 будет очень масштабным:
- Новые фишки языка, что-то из этого синтаксический сахар, что-то будет очень полезно в работе. Например, sealed классы уменьшат использование кодогенерации в множестве проектов (сейчас для это используется freezed), или новое написание switch case (и использование case внутри if) - очень полезная вещь, чтобы не загружать свой код лишним
- Поддержка компиляции в WASM. Flutter Web станет еще более производительным, что позволит выводить в прод по-настоящему крутые проекты
- Поддержка RISC-V. Для меня, как для разработчика приложений для iOS и Android это спорная вещь, так как не известно, как будет применяться
👍3
По функциям Flutter, их можно разделить на 2 категории - хорошие и максимально крутые. Начнем, с хороших:
- Адаптивность. Ее наконец встраивают в сам Flutter, будет чуть удобнее, чем раньше
- Шейдеры на Web. Спорно, но на самом деле очень интересно было бы с ними поработать, так как на мобилке и для десктопа они уже есть
- Встраивание элемента в JS. Интересная функция, можно сказать прорывная, особенно с примером, который показали. Но как по мне, использоваться будет крайне редко
- Google News Toolkit - штука для крайне малого количества человек, непонятно, как там написан бэк и как это дело кастомизируется
А теперь крутые:
- Обновление Impeller. Скоро можно будет не заморачиваться с запеканием шейдеров. Для iOS сделают включенным по умолчанию
- Поддержка 3D даст дизайнерам очень большой простор для творчества. Если все будет хорошо, то можно будет делать то, что делают сейчас с некоторыми сайтами, используя three.js
- JNIgen и FFIgen. По моему мнению, это лучшее, что случалось с Flutter. А если потом добавят еще и под Swift, то будет идеально. Хотелось бы еще увидеть конечно, что это будет с библиотеками работать, но пока и с системными API операционок сойдет
Ну а общее впечатление от keynote такое - впервые за долгое время проходил оффлайн event, но особый фокус на месте его проведения для всего мира не так сильно полезен. Теперь ждем Google I/O, чтобы представили как эти функции будут работать на самом деле.
- Адаптивность. Ее наконец встраивают в сам Flutter, будет чуть удобнее, чем раньше
- Шейдеры на Web. Спорно, но на самом деле очень интересно было бы с ними поработать, так как на мобилке и для десктопа они уже есть
- Встраивание элемента в JS. Интересная функция, можно сказать прорывная, особенно с примером, который показали. Но как по мне, использоваться будет крайне редко
- Google News Toolkit - штука для крайне малого количества человек, непонятно, как там написан бэк и как это дело кастомизируется
А теперь крутые:
- Обновление Impeller. Скоро можно будет не заморачиваться с запеканием шейдеров. Для iOS сделают включенным по умолчанию
- Поддержка 3D даст дизайнерам очень большой простор для творчества. Если все будет хорошо, то можно будет делать то, что делают сейчас с некоторыми сайтами, используя three.js
- JNIgen и FFIgen. По моему мнению, это лучшее, что случалось с Flutter. А если потом добавят еще и под Swift, то будет идеально. Хотелось бы еще увидеть конечно, что это будет с библиотеками работать, но пока и с системными API операционок сойдет
Ну а общее впечатление от keynote такое - впервые за долгое время проходил оффлайн event, но особый фокус на месте его проведения для всего мира не так сильно полезен. Теперь ждем Google I/O, чтобы представили как эти функции будут работать на самом деле.
👍5
Возникла на этой неделе нестандартная задачка. Есть Mac Mini M1 (16, 512), на котором надо:
- Запустить CI/CD для мобильных приложений
- Сделать возможным удаленное подключение нескольких пользователей одновременно для тестирования web-приложений и настроек мобильного CI/CD
- Чтобы все это не мешало человеку, который за ним сидит
Раньше существовала только вторая задача и мы использовали RealVNC. Но тут есть проблема - для того, чтобы было 2 пользователя одновременно, нужно покупать дорогую лицензию + для каждого пользователя надо по своему монитору подключать.
Сейчас я использовал бесплатный Vine VNC Server, запустив по серверу на каждом пользователе, но на разных портах. Для подключения использую Remote Ripple (если кто подскажет другой хороший клиент для VNC, буду рад). В итоге имеем:
- Удаленный доступ работает в локальной сети, нужно теперь внешнее подсоединение настроить (прокинуть порты в роутере или настроить DDNS)
- Нужен один монитор на все, не надо тратиться на переходники и заглушки
- Мощности хватает на 3 одновременно работающих пользователя
- Запустить CI/CD для мобильных приложений
- Сделать возможным удаленное подключение нескольких пользователей одновременно для тестирования web-приложений и настроек мобильного CI/CD
- Чтобы все это не мешало человеку, который за ним сидит
Раньше существовала только вторая задача и мы использовали RealVNC. Но тут есть проблема - для того, чтобы было 2 пользователя одновременно, нужно покупать дорогую лицензию + для каждого пользователя надо по своему монитору подключать.
Сейчас я использовал бесплатный Vine VNC Server, запустив по серверу на каждом пользователе, но на разных портах. Для подключения использую Remote Ripple (если кто подскажет другой хороший клиент для VNC, буду рад). В итоге имеем:
- Удаленный доступ работает в локальной сети, нужно теперь внешнее подсоединение настроить (прокинуть порты в роутере или настроить DDNS)
- Нужен один монитор на все, не надо тратиться на переходники и заглушки
- Мощности хватает на 3 одновременно работающих пользователя
👍2
Закидывал сегодня заявки на выступления на IT конференциях с новым докладом (Привет организаторам, которые проверяют соцсети!). Было прикольно пересматривать свои старые выступления и митапы. Думаю, на этой неделе поскидываю лучшее сюда
А начнем мы с самого свежего. В ноябре в моем родном Красноярске проходил Dev2Dev Chipec, на который меня пригласили выступить.
https://www.youtube.com/watch?v=RTgor7jZm2A
https://www.youtube.com/watch?v=RTgor7jZm2A
YouTube
Павел Гершевич Dev2Dev Chipec - Flutter best practices для высокого FPS
Тема:
Flutter best practices для высокого FPS.
Тезисы:
- Посмотрим как измерять производительность мобильных и не только приложений на Flutter;
- Разберем как и почему мы можем получить низкий FPS
- Рассмотрим best practices, которые используются в Aspirity…
Flutter best practices для высокого FPS.
Тезисы:
- Посмотрим как измерять производительность мобильных и не только приложений на Flutter;
- Разберем как и почему мы можем получить низкий FPS
- Рассмотрим best practices, которые используются в Aspirity…
🔥3
Продолжаем неделю записей моих выступлений. Сегодня самый популярный ролик с моим участием с канала Aspirity - обзор Firebase, уже немного устаревший, но не потерявший свою актуальность.
https://www.youtube.com/watch?v=og-Gv2jaM0M
https://www.youtube.com/watch?v=og-Gv2jaM0M
YouTube
Обзор возможностей Firebase
Запись митапа "Что такое Firebase и как его использовать". Спикер: Гершевич Павел, мобильный разработчик Аспирити
00:00 Введение
00:54 О чем поговорим?
01:15 Что такое Firebase и что в него входит
02:21 Build with Firebase
04:02 Firebase Auth
06:25 Firestore…
00:00 Введение
00:54 О чем поговорим?
01:15 Что такое Firebase и что в него входит
02:21 Build with Firebase
04:02 Firebase Auth
06:25 Firestore…
🔥3👏1
Сегодня закину один из самых первых своих митапов. Да, информация в нем уже немного устарела, но все еще может быть полезной для тех, кто только решает вкатываться в кросс-платформу.
Этот митап я проводил 3 с лишним года назад и в завтрашнем посте будет его вторая часть. Стоит ли делать третью?
https://www.youtube.com/watch?v=MYdPREb2nzE
Этот митап я проводил 3 с лишним года назад и в завтрашнем посте будет его вторая часть. Стоит ли делать третью?
https://www.youtube.com/watch?v=MYdPREb2nzE
YouTube
Подводные камни Flutter и React Native
Разработчик Аспирити Павел Гершевич расскажет о своим опыте разработки на Flutter и React Native:
1. Опыт и грабли разработки на Flutter.
2. Опыт и грабли разработки на React Native.
3. Сравнение: что же все-таки использовать.
Для кого:
1. Нативных…
1. Опыт и грабли разработки на Flutter.
2. Опыт и грабли разработки на React Native.
3. Сравнение: что же все-таки использовать.
Для кого:
1. Нативных…
🔥2👍1
А вот и обещанная вчера вторая часть сравнения Flutter и RN
https://www.youtube.com/watch?v=oSsrQkpUGkI
https://www.youtube.com/watch?v=oSsrQkpUGkI
Сегодня разбирался с автотестами. Попробовал наконец mocktail. Нашел сразу и плюсы и минусы, в сравнении с mockito.
Плюсы:
- Быстро описать какой мок тебе надо
- Нет кодогенерации и из-за этого легче поддерживать
Минусы:
- Вместо when(myMock.myFunc()), нужно писать when(() => myMock.myFunc()). Возможно путает на первом этапе.
- Не нашел альтернативы any, возможно я недостаточно хорошо искал
Плюсы:
- Быстро описать какой мок тебе надо
- Нет кодогенерации и из-за этого легче поддерживать
Минусы:
- Вместо when(myMock.myFunc()), нужно писать when(() => myMock.myFunc()). Возможно путает на первом этапе.
- Не нашел альтернативы any, возможно я недостаточно хорошо искал
🤔1
Продолжаем неделю записей выступлений (на самом деле там их как раз 7). Сегодня видео для тех, кто хочет узнать мое мнение о различных менеджерах состояний https://www.youtube.com/watch?v=NVo5pLd0xvw
YouTube
State management в Flutter: от Redux до GetX
00:00 - Вступление
01:24 - setState
03:25 - Inherited Widget
06:47 - Provider
07:37 - Change Notifier
08:13 - BLoC
09:46 - BLoC library
14:26 - Redux
16:12 - MobX
16:53 - GetIt
18:20 - Riverpod
19:31 - GetX
21:03 - Что используется в Aspirity
23:40 - Ответы…
01:24 - setState
03:25 - Inherited Widget
06:47 - Provider
07:37 - Change Notifier
08:13 - BLoC
09:46 - BLoC library
14:26 - Redux
16:12 - MobX
16:53 - GetIt
18:20 - Riverpod
19:31 - GetX
21:03 - Что используется в Aspirity
23:40 - Ответы…
В 2021. я делал обзорную презентацию про кодогенерацию в Dart и Flutter. https://www.youtube.com/watch?v=jFK0VBkLtCA
YouTube
Кодогенерация в Dart и Flutter
Митап от мобильного разработчика Aspirity Павла Гершевича.
00:00 Вступление
00:37 Что такое кодогенерация?
04:27 Кодогенерация в Dart
06:13 injectable
08:53 Moor
10:19 Chopper и Retrofit
12:17 auto_route
13:32 json_serializable
14:35 Mockito
15:55 freezed…
00:00 Вступление
00:37 Что такое кодогенерация?
04:27 Кодогенерация в Dart
06:13 injectable
08:53 Moor
10:19 Chopper и Retrofit
12:17 auto_route
13:32 json_serializable
14:35 Mockito
15:55 freezed…
И заключительной записью будет митап, на котором я рассказывал про фреймворки на дарте, прошло уже полтора года и информация про бекенд уже не так актуальна, так как появились serverpod и data-frog. Скоро анонсирую про них митап
https://www.youtube.com/watch?v=fcpQ5kZG3r8
https://www.youtube.com/watch?v=fcpQ5kZG3r8
YouTube
Dart и его фреймворки
00:00 Вступление
01:55 История Dart
08:17 Dart в рейтингах языков
09:18 Dart stdlib
11:50 Использование JS в коде на Dart
13:27 Angular, React и Vue
15:05 Другие фреймворки для frontend
18:01 Фреймворки для backend
20:29 А что дальше?
01:55 История Dart
08:17 Dart в рейтингах языков
09:18 Dart stdlib
11:50 Использование JS в коде на Dart
13:27 Angular, React и Vue
15:05 Другие фреймворки для frontend
18:01 Фреймворки для backend
20:29 А что дальше?
Flutter Tech-Lead Notes
Сегодня разбирался с автотестами. Попробовал наконец mocktail. Нашел сразу и плюсы и минусы, в сравнении с mockito. Плюсы: - Быстро описать какой мок тебе надо - Нет кодогенерации и из-за этого легче поддерживать Минусы: - Вместо when(myMock.myFunc()), нужно…
История продолжается. Теперь уже настройкой CI/CD.
Сначала стоял вопрос, что выбрать - Bitbucket Pipelines, fastlane или перенести репу на GitHub и заюзать Actions. В итоге, был выбран первый вариант, как самый простой.
Изначально казалось, что нужно просто поставить docker и все, что необходимо для runner, и заработает, но нет, docker не понадобился и пришлось настраивать сборку локально на удаленном маке. Но это полдела.
Сборки под Android было решено закидывать в Slack, так как Firebase Distribution очень криво работает с российских IP адресов. Долгие поиски что не так, показали очень тупую ошибку, но файлы теперь закидываются и тестировщики могут их забирать. И да, в Aspirity теперь есть Slack бот, которому можно кидать файлы и название канала и он зальет этот файл, очень удобно.
Сначала стоял вопрос, что выбрать - Bitbucket Pipelines, fastlane или перенести репу на GitHub и заюзать Actions. В итоге, был выбран первый вариант, как самый простой.
Изначально казалось, что нужно просто поставить docker и все, что необходимо для runner, и заработает, но нет, docker не понадобился и пришлось настраивать сборку локально на удаленном маке. Но это полдела.
Сборки под Android было решено закидывать в Slack, так как Firebase Distribution очень криво работает с российских IP адресов. Долгие поиски что не так, показали очень тупую ошибку, но файлы теперь закидываются и тестировщики могут их забирать. И да, в Aspirity теперь есть Slack бот, которому можно кидать файлы и название канала и он зальет этот файл, очень удобно.
👍1🔥1
Сегодня залез на внутренний проект, который разрабатывается моей командой, пока они не заняты на коммерческих проектах. Было 2 задачи: запустить в iOS симуляторе, настроить CI/CD для Android.
1) Была ошибка, мол Flutter.h найти не может. Сделал за 5 минут, просто перегенерив папку iOS на проекте. Почему миддл разраб этого не смог сделать - большой вопрос.
2) Думал, что настройка CI/CD будет легкой прогулкой, но из-за того, что 2 других разработчика (сам я редко заглядываю на огонек в этот проект, им рулит миддл) забили на обновление библиотек, делалось это около часа, если не больше. Ииииии..... в итоге сломалась сборка под iOS. Придется ее сначала чинить, чтобы настроить CI/CD для iOS части приложения
1) Была ошибка, мол Flutter.h найти не может. Сделал за 5 минут, просто перегенерив папку iOS на проекте. Почему миддл разраб этого не смог сделать - большой вопрос.
2) Думал, что настройка CI/CD будет легкой прогулкой, но из-за того, что 2 других разработчика (сам я редко заглядываю на огонек в этот проект, им рулит миддл) забили на обновление библиотек, делалось это около часа, если не больше. Ииииии..... в итоге сломалась сборка под iOS. Придется ее сначала чинить, чтобы настроить CI/CD для iOS части приложения
🤔2
Forwarded from Flutter For Dev - новости, статьи, дизайн.
Introducing Realm for Dart & Flutter: Michael Thomsen рассказывает про Realm который представили MongoDB.
https://medium.com/dartlang/introducing-realm-for-dart-flutter-e30cb05eb313
https://medium.com/dartlang/introducing-realm-for-dart-flutter-e30cb05eb313
👍2
Ой, а что это!? Это анонс стажировки в Aspirity.
https://vk.com/wall-96273695_1104
https://vk.com/wall-96273695_1104
VK
Аспирити — студия веб разработки. Пост со стены.
Друзья, мы рады сообщить, что открываем прием заявок на СТАЖИРОВКУ.
Что будет:
1. Реаль... Смотрите полностью ВКонтакте.
Что будет:
1. Реаль... Смотрите полностью ВКонтакте.
🔥1