Friflex Dev – Telegram
Friflex Dev
293 subscribers
756 photos
57 videos
9 files
116 links
Канал разработчиков Friflex. Разрабатываем сайты и приложения для миллионов людей, обучаем ИИ, вдохновляем друг друга.

⚙️Наш канал о разработке на Flutter: @flutterfriendly
🚀О продуктовой разработке: @friflex_product
Download Telegram
Что обязательно нужно учесть, если вы собираетесь портировать мобильное приложение на российскую операционную систему Аврора @omp_ru?

Отвечаем подробно в карточках. И очень подробно — в блоге Frifllex.

#OCАврора #Flutter
3🔥1
⚡️Вышла новая версия Flutter 3.19 c Dart 3.3

— Бета-версия Gemini Google AI Dart SDK теперь позволяет встраивать в приложения функции на базе генеративного ИИ
— На Android появился веб-валидатор глубоких ссылок
— На iOS появились собственные шрифты Flutter
— В Dart вышла новая модель взаимодействия с библиотеками JavaScript и веб-платформами

Что еще нового в Flutter 3.19 и Dart 3.3? Делимся первым переводом официального релиза от Юрия Петрова, Flutter Team Lead в Friflex, автора тг-канала @mobile_developing

#Flutter
2👍1
Представьте: вы мирно пьете кофе, печатаете, и вдруг забытая функция внезапно воскресает! Вы думали, что похоронили этот участок кода полгода назад, но он вернулся и жаждет вычислительной мощности 🧟

От зомби-кода жди проблем: он создает путаницу в кодовой базе, нередко бывает источником ошибок и может замедлять работу программы, даже если не выполняется напрямую.

Зомби-код принимает разные формы — от неиспользуемых классов до неактуальных комментариев. Или вот таких мертвых веток кода в Dart:


// Этот код никогда не выполняется.
} else {
// ...
}


Чтобы ваш код не превращался в зомби, регулярно проверяйте его, пишите документацию, используйте систему контроля версий и не бойтесь рефакторинга. Это поможет поддерживать чистоту кодовой базы.

#наайтишном
3🔥2👍1
🧠 Микроконтроллер — это электронный компонент, похожий на человеческий мозг. Он принимает электрические сигналы и реагирует на них по заданному алгоритму.

В новой статье на Хабре Мурат Насиров, Flutter-разработчик в Friflex, рассказывает, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера он снимает показания температуры и влажности с помощью датчика DHT11 и передает эти данные через Firebase Realtime Database в приложение. Интересно звучит, правда?

Подписывайтесь на наш блог на Хабре, чтобы не пропустить новые полезные статьи 💜

#Flutter
👍42🔥1
🏗 Зерокодеры не пишут код, а собирают цифровые продукты, как мебель IKEA — из готовых элементов и шаблонов.

Например, популярная зерокод-платформа Webflow позволяет создавать сайты и лендинги, Bubble — веб-приложения и MVP, а Notion — заметки и базы данных.

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

Поэтому не спешим отказываться от традиционного программирования😏

#наайтишном
4
🐍 Змеиный регистр можно использовать для всех переменных, функций и файлов. Это простой и понятный стиль именования, который делает код более читаемым и удобным для работы. Выглядит он так:

snake_case_variable
get_snake_case_value
snake_case_function


Змеиный регистр помогает унифицировать стиль именования и совместим с большинством языков программирования и систем. Это упрощает перенос кода.

Но людям, не привыкшим к змеиному регистру, может быть трудно прочесть длинные имена с нижними подчеркиваниями, такие как calculate_area_of_triangle.

А в некоторых случаях регистр скрывает смысл имени и делает его менее понятным. Например, имя get_user_input не информативное: непонятно, что именно запрашивается у пользователя.

В большинстве случаев преимущества змеиного регистра все-таки перевешивают его недостатки. Но подходит ли он вашей команде, это уже другой вопрос.

#наайтишном
3🔥2👍1
🧩 Представьте, что ваши фотографии, видео и документы — не просто файлы, а мозаика из маленьких кусочков. Если мозаика находится на улице, а не в идеальных условиях музея, со временем из-за дождя, ветра и солнца она начнет разрушаться. С файлами происходит то же самое. Этот процесс называется гниением битов.

Гниение битов грозит потерей важных данных и ошибками в работе программного обеспечения. К счастью, есть простые способы сохранить свои фотографии, видео и другие файлы на долгие годы:

◾️ Регулярно делайте резервные копии важных данных.

◾️ Используйте надежные носители. Например, SSD-диски вместо HDD и облачные хранилища.

◾️ Защищайте устройства от перепадов температур, влаги и магнитных полей.

◾️ Обновляйте программное обеспечение.

А вы сталкивались когда-нибудь с гниением битов?

#наайтишном
3
Как быстро получать данные из ОС Аврора в приложении на Flutter? Попробуйте интерфейс D-Bus 💌 D-Bus, как почтальон, доставляет сообщения от одного процесса к другому в unix-системах.

Во Flutter-приложениях D-Bus помогает:

◾️Узнать, сколько заряда осталось
◾️Получить время
◾️Посмотреть, какие приложения запущены
◾️Получить доступ к данным датчиков

Подробную инструкцию по работе с D-Bus читайте в статье Юрия Петрова, Flutter Tech Lead Friflex и автора канала @mobile_developing.

#Flutter #ОСАврора
7👍4
🍝 Спагетти-код может поначалу казаться простым и вкусным решением: лишь бы работало. Но в итоге масса переплетенных между собой строк неизбежно превращается в непроглядный лабиринт.

Спагетти-код отличают длинные функции, повторы и неясные имена. К тому же, он может «прыгать» в разные функции. Например:

void main() {
// Эта функция делает много разных вещей
// и очень сложно понять, что она делает

int a = 1;
int b = 2;

if (a > b) {
// Делаем что-то, если a больше b
print("a больше b");
saveData();
globalValue = 10;
} else {
// Делаем что-то, если b больше a
print("b больше a");
getData();
}
}


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

#наайтишном
5👌3
👩‍🚀 Однажды программист Microsoft и космический турист Чарльз Симони предложил добавлять к имени переменной короткий префикс, который отражал бы ее тип и предназначение.

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

Использовать венгерскую нотацию довольно просто. Например:

int + age = iAge
целое число, обозначающее возраст

string + name = strName
строка, обозначающая имя

Венгерская нотация помогает понять, что представляет собой переменная, не глядя на ее объявление. Это уменьшает количество комментариев и число ошибок.

Противники критикуют венгерскую нотацию за избыточность и говорят, что когда префиксов очень много, код сложнее читать.

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

#наайтишном
👍31
🦆 Если вы столкнулись с проблемой, которую не можете решить, попытайтесь объяснить ее резиновой уточке. Расскажите утенку, над чем вы работаете и где застряли. Не опускайте детали — именно в них может крыться ключ к решению.

Этот метод из книги «Программист-прагматик» правда работает, и вот почему:

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

2. Диалог с утенком отвлечет вас, и вы перестанете зацикливаться на одном и том же подходе к решению.

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

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

#наайтишном
👍6
Flutter на ОС Аврора: Friflex и ОМП представили Манифест развития фреймворка. В нем 9 принципов

Во вторник в Москве прошла первая конференция разработчиков о Flutter на ОС Аврора. Конечно же, команда Friflex была там. Вместе с «Открытой мобильной платформой» @omp_ru создателями ОС Аврора, мы призвали разработчиков объединяться и выступили с Манифестом развития фреймворка Flutter на российской операционной системе 🔥

В Манифесте — девять принципов. Например, открытость: Flutter остается проектом с открытым исходным кодом. Или стабильность: приложения на Flutter должны правильно работать на разных устройствах.

Команда Friflex уже портировала на ОС Аврора три мобильных приложения, создала несколько плагинов и написала много статей о своем опыте в блоге.

Подробнее о Манифесте можно почитать в заметке на Хабре.

#ОСАврора
🔥53
Этот колоритный термин произошел от фразы «изобретать велосипед».

Например, команда работает над приложением, которое хранит и обрабатывает данные пользователей. Разработчики решают не использовать системы управления базами данных, такие как MySQL, PostgreSQL или MongoDB, а создать собственную.

Зачем? Мотивация может быть разной:

🚲 Разработчики хотят создать уникальное решение, полностью контролировать код и воплотить все свои задумки

🚲 Разработчики просто не знают, что решение уже есть

🚲 Разработчики не доверяют сторонним библиотекам

🚲 Разработчики относятся к созданию собственного решения как к эксперименту

Велосипедостроение на самом помогает глубже понять принципы работы систем. Но часто оно приводит к излишним сложностям.

Например, собственную систему управления базами данных приходится поддерживать и обновлять даже после запуска проекта. Добавлять к ней новые функции может оказаться сложнее, чем ожидалось. А стоит ли?

#наайтишном
🔥3