На чем писал до Dart?

«На чем писал до Dart?» — вопрос из категории Софт-скиллы, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

До перехода на Flutter и Dart я в основном занимался нативной Android-разработкой на Kotlin и немного кросс-платформенной разработкой на React Native (JavaScript/TypeScript).

Мой опыт с Kotlin:

// Пример работы с корутинами для асинхронности в Android
class UserRepository(private val apiService: ApiService) {
    suspend fun fetchUser(userId: String): Result<User> = withContext(Dispatchers.IO) {
        try {
            val response = apiService.getUser(userId)
            Result.success(response.toDomain())
        } catch (e: Exception) {
            Result.failure(e)
        }
    }
}

Почему я выбрал Flutter/Dart:

  1. Единая кодовая база: После опыта с React Native я оценил более стабильную и производительную кодовую базу Flutter.
  2. Сходство с Kotlin: Dart, особенно с включенным null safety, показался мне очень похожим на Kotlin по выразительности и строгости типов, что упростило переход.
  3. UI как код: Подход Flutter, где интерфейс полностью описывается кодом (в отличие от XML-разметки в Android), дал мне больше контроля и предсказуемости в отрисовке.
  4. Горячая перезагрузка (Hot Reload): Скорость разработки UI в Flutter несравнимо выше, чем в нативной Android-разработке.