Со времени моей работы, когда я узнаю новые знания, я часто борюсь с методами, преподаваемыми на этапе обучения, ориентированного на тестирование - считается ли это обучением путем копирования 100% содержания книги в мой мозг? Совершенны ли знания, которые не будут использоваться или используются редко, и для их запоминания требуется много усилий?
ФлаттерДокументация по началу работыЭто дало мне много вдохновения, оно не показывало содержание документа API или всего фреймворка новичкам напрямую, а через простой встречный пример, от базовых компонентов до мониторинга жестов, до изменений состояния, самых основных идей Flutter. ярко показаны.
Я видел много новичков, которые любят дословно читать вводную документацию, документацию по API и обучающие видео, но никогда не открывают редактор, даже если пишут Hello World.
Я думаю, что эффективным способом обучения является,Научитесь осваивать основы сразу для начала и углубляйтесь в операции., учитесь во время игры, открывайте для себя части, которые вы не понимаете в процессе, осваивайте знания, которые вы не понимаете, консультируясь с материалами, и, наконец, извлекайте знания, которые вы узнали, из своего мозга и передавайте их другим таким образом, чтобы другие могут понять.
Почему калькулятор?
- Макет классический, и вы можете научиться использовать самые важные из нихИспользование виджета, быстро освоить распространенные макеты, такие как Container, ListView, Row, Column, Expanded, FractionallySizedBox и т. д.
- Стиль прост, и вы можете научиться использовать наиболее часто используемые из них.свойства макета, такие как отступы, цвет, стиль, оформление (закругленные углы, штрихи), выравнивание и т. д.
- С входом, может учитьсязахват жестови между компонентамипоток данных.
- С обработкой можно выучить дартсбазовый тип данныхиспользование, например String, List, int, double, num, bool и т. д.
- С выводом можно узнать, когда использоватьStatelessWidgetа такжеStatefulWidget.
- Не полагайтесь на пользовательский интерфейс, не полагайтесь на интерфейс, вы можете успешно запустить Hello WorldРазработать сейчас, не стремитесь к совершенству в первую очередь, потому что это остановит вас от действий, знайте, что «начать» гораздо важнее, чем «сделать хорошо».
Как развиваться?
1. [Общие] Наблюдайте за макетом и начните глобально.
С глобальной точки зрения можно обнаружить, что это столбцовая (вертикальная) компоновка, а подкомпоненты распределяют внутреннее пространство в соответствии с определенным весом. Очевидно, что верхний Text имеет вес 2 (flex: 2), а остальные дочерние компоненты ListView и Row имеют вес 1 (flex: 1).2. [Очки] Разделите компоненты и разбейте их один за другим.
Компоненты разделения можно разделить в соответствии с бизнес-логикой или в зависимости от того, одинаков ли макет.Здесь я выбираю разделение в зависимости от того, одинаков ли макет, потому что бизнес-логика несложная, и макет можно использовать повторно. Подробнее . Как показано на рисунке, в качестве примера возьмем компонент NumberButton и компонент NumberButtonGroup:
3. [Общие] Интегрируйте компоненты и проясните логику.
После реализации каждой части компонентов необходимо вернуться к общей логике калькулятора, то есть как выполнитьВвод -> Обработка -> Вывод?
наконец
На самом деле, это мое первое полностью завершенное приложение Flutter.Хотя я разработал десятки приложений для Android и мини-программ WeChat, я давно не был так взволнован после завершения проекта.Я заново открыл свои студенческие годы для знаний.И ощущение упорной учебы. После усовершенствования моего собственного метода обучения и применения его на практике я получил невероятные результаты.