(Вредные) советы для разработки на Flutter

Недавно я наткнулся на статью Tips for Coding with Flutter. И не просто где-то в самом темном закоулке Интернета, а прямо Medium мне прислал ее в подборке, в качестве рекомендации. Т.е. статья весьма популярна и её прочитает много разработчиков, в том числе и начинающих.

Я начал читать и то, что я увидел — мне совсем не понравилось. Некоторые советы действительно хорошие, но некоторые — весьма спорные. Давайте пойдем по порядку.

Именование

Naming Convention

Libraries, packages, directories, and source files should be in lowercase with underscores in between words like this:

library dart_dynamic_links;
import 'socket/socket_manager.art';

Classes, enums, extension names, and typedefs should start in uppercase like this :

class MainSection {...}
enum ItemSelectionTemp {...}
extension MyList<F> on List<F> {...}
typedef Definition<D> = bool function(D value);

Constants, variables, parameters, and named parameters should start with lowercase then the other words start with uppercase just like this example:

const magazinePrice = 4.20;
var itemsOfSchools;
final urlPlacement = RegExp(‘^([a-z]+):');
void magSum(int magazinePrice) {...}

Здесь лучше всего просто придерживаться официальных рекомендаций 

https://dart.dev/guides/language/effective-dart/style 

https://dart.dev/guides/language/effective-dart/design#names

Там описание более полное, с корректными примерами и пояснениями. В отличие от того, что мы видим в статье.

Следующий совет: «Указывайте тип для членов класса»

Specify Types for Classes Members

It’s important that you always specify the type of member when the values are known. You should avoid using var when possible.

int days = 22;
final vehichle car = vehichle();
String name = 'Kevin';
const int timeUntilEnd = 120;

С приведенными примерами указание типа не имеет смыла, об этом и говорится в Effective Dart. Тип нужно указывать когда он не очевиден, а что хорошего в дублировании одного и того же слова в строчке final Vehichle car = Vehichle();  – решительно не понятно.

Читать →

#3 Советы Flutter + Dart

Перевод статьи #3 Flutter + Dart Tips.

На нашем блоге публикуется перевод серии статей с очень помогающими нам при работе во Flutter и с Dart советами, которыми делится Flutter коммьюнити и сам автор,

Это статья #3 в данной серии, если вы пропустили предыдущие статьи, то вы сможете найти их по ссылкам:

7. Хотите использовать отдельную Theme для конкретного виджета?

Просто оберните этот виджет в виджет  Theme и передайте ThemeData(). Совет от Sahil Kumar.

Читать →

#2 Советы Flutter + Dart

Перевод статьи #2 Flutter + Dart Tips.

Вторая часть из серии советов по Flutter и Dart.

Вот первая часть советов, если вы ее пропустили: #1 Советы Flutter + Dart.

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

Ниже вторая часть советов:

4. Используйте стили из тем в виджете  Text

Если вы Android разработчик, вы должны были использовать  android:textAppearance  в ваших TextView и использовали  @style/TextAppearance.AppCompat.Body1 и так далее.

Для тех, кому это ничего не говорит: речь идет о заранее настроенном стиле, который позволяет вам стилизовать ваш Text в терминах Material гайдлайна как Title, Body, Caption и т.д.

Итак, как вам реализовать это во Flutter Text виджете?

Это просто, как и все во Flutter. ?

Вам просто нужно передать свой стиль textTheme используя  Theme.of(context).textTheme.

Ниже пример кода.

Читать →

#1 Советы Flutter + Dart

Перевод статьи #1 Flutter + Dart Tips.

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

Это статья посвящена советам по использованию Dart и Flutter, и является частью цикла статей, целью которых является изложение всех советов по Flutter и Dart, которые открыл для себя автор. Все советы также можно найти на репозитории «FlutterDartTips» на Github.

Ниже первая часть советов:

1. Использование null-aware операторов

Когда требуется проверить на null значения в Dart — используйте null-aware  операторы, чтобы уменьшить количество кода, требующегося, чтобы работать с ссылками, которые потенциально могу быть null .

Читать →

Советы по оптимизации Unity проекта

Рано или поздно практически любой разработчик на Unity сталкивается с проблемами производительности в своем проекте. И не важно, что это за проект: очередной AAA проект от известной студии, или Match 3 в новом сеттинге от новичков в игровой индустрии. Оптимизировать проект придется так или иначе. Также не важно, под какую платформу (платформы) написан проект: PC, консоль или мобильный. Кажется, что уж в 2019 году-то с гигагерцами не только на компьютерах, но и на телефонах, необходимость в оптимизации для не AAA проектов должна была отпасть. Но нет, приходится экономить спички практически как на заре игростроения. Непонятно, почему так происходит; возможно, это плата за скорость разработки в Unity? Гоу в комментарии, обсудим.

 

Как нетрудно догадаться из названия статьи, речь сегодня пойдет об оптимизации Unity проектов. Если точнее, то мобильных Unity проектов. Если вам еще только предстоит оптимизировать проект, то, думаю, вы сможете почерпнуть много полезной инофрмации из данной статьи. Если же у вас уже есть опыт в оптмизации и профилировании Unity (да и не только Unity) проектов, вы можете помочь дополнить статью примерами из своего опыта. Нам и остальным читателям это будет очень интересно и полезно.

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

Читать →