Hallo! Mein Name ist Andrew. Besser bekannt als #coderotboga (das ist Selbstironie, wenn das so ist). Ich beherrsche Flutter im Live-Code-Modus, bereits 567 Sendungen . Ohne Schnitte - "von Null zu Held", angefangen bei einem Dart-Tutorial bis hin zu einem vollwertigen "Open-Source" -Projekt in der Produktion. Außerdem beende ich bald meinen eigenen 100-stündigen Online-Kurs - der Lehrer lernt von seinen Schülern. Dank intensiver Praxis und langjähriger Erfahrung mit ReactJS habe ich eine Reihe von Vereinbarungen getroffen, die ich vorlegen möchte, um Feedback zu erhalten: "Ihr Anruf ist für uns sehr wichtig, bleiben Sie online."
Grundlegende Einschränkungen
, , . : dartz – Haskell, kt_dart – Kotlin. Dart. – . KISS.
-. , : ndroid – MVP, ReactJS – Redux/MobX.
«». . , . , . – «unix-way». - , , .
, : . 1) . , : , , .. 2) ( , ). 3) lint – , pedantic. -.
--, . , , . - . , , . ( – , ). – . JavaScript, lerna Dart – melos. , – - , .
. , . VSCode, "workbench.editor.labelFormat": "short". . : todos_screen.dart – screens/todos.dart, todos_cubits.dart – cubits/todos.dart. . , , . ( ), . TodosBody .
, «protected», .. ()? – , . , . – . .
widgets , ( ) , : screens/todos.dart – TodosScreen, cubits/todos.dart – TodosCubit.
, . , lib:
common – ,
cubits – - BLoC
import.dart –
main.dart –
models –
repositories – ( )
screens –
widgets –
Firebase Authentication, . - -, BDD (Behavior Driven Development).

Beispielsweise ist CRUD in BLoC & GraphQL implementiert. Wenn Sie sich nicht sicher sind, welches Architekturmuster für die Statusverwaltung verwendet werden soll, lesen Sie den Quellcode des Projekts. BLoC wurde bereits 2018 von Google eingeführt, aber es ist sehr schwierig, es einfach zu machen. Felix Angelov konnte , ich verliebte mich in Ellen und lernte, wie man es kocht.
Und schließlich das i-Tüpfelchen - Navigation ohne Kontext mit typisierten Argumenten:
class ZoomScreen extends StatelessWidget {
Route<T> getRoute<T>({bool isInitialRoute}) {
return buildRoute<T>(
'/zoom?unit_id=${unit.id}', //
builder: (_) => this,
fullscreenDialog: true,
isInitialRoute: isInitialRoute,
);
}
ZoomScreen(this.unit);
final UnitModel unit;
...
navigator.push<void>(ZoomScreen(unit).getRoute());
Quellcodes und vielen Dank für Ihre Aufmerksamkeit.
