PiggyBank
Этот пост будет обзорным. Здесь не будет ни строчки кода. В этом посте я расскажу как создал свое первое приложение.
Почему мне в голову пришла мысль о написании приложения? Дело в том, что идея контролировать личный бюждет у меня возникла давно. Раньше я обходился таблицей в Excel’e, но потом я сказал себе: “Я же программист, почему я не могу написать приложение для этого?”.
Ну с января этого года начал делать какие-то наброски. В первую очередь выбрал метод, который называю “сверху-вниз”. Идея данного метода заключается в следующем: сперва рисуешь интерфейс, а затем пишешь логику.
В первых набросках не придерживался никакого Fluent Design’a потому, что хотел чтобы приложение запускаскалось на телефоне (да, да я использую Windows 10 Mobile), а последняя версия Windows на телефонах не поддерживает данную концепцию дизайна.
Но всё изменилось когда был подключен EF для хранения БД. Дело в том, что Microsoft активно развивает кроссплатформенный .Net Core, и , соответственно, есть EF 6 и EF Core. Я не хотел выбирать EF 6 потому, что в скором будущем остановиться поддержка данного framework’a, и так активно он не будет развиваться как EF Core.
После подключения EF Core приложения не запустилось бы на телефоне. Поэтому было принято решения переработать дизайн в соответсвии с Fluent Design.И вот что получилось.
Но при написании приложения у меня возникла интересная ситуация. Подгружать все элементы на страницу “Затраты” нерационально, поэтому я подгружаю первые десять, а если пользователю покажется, что первой страницы ему малова-то то он в любой момент может подгрузить следующею страницу нажам на кнопку “Refresh”. Для этой ситуации было решено использовать контрол RefreshContainer. Но меня ждало разочирование потому, что в минимальной версии (Windows 10 1709), которая была выбрана, данного контейнера нет. Но при этом в версии Windows 10 1703 данный контрол есть o_0. И тут я осознал всю бренность существования. Пришлось увеличить минимальную версию до 1803. Но на этом сюрпризы не закончились. После обновления минимальной версии и обновилось и UWP SDK. Соответсвено, обновились и некоторые элементы.
И после очердного ребилда я заметил, что у меня две стрелки назад WHF?. И тут сразу вспомнил о чем говорилось на Build 2018 и убрал одну из стрелок назад. Это связано с тем, что в гредущем обновлении добавится новая функция “Sets”, которая займет заголовок окна и использовать кнопку назад в заголовке станет невозможно. И Microsoft обновила контрол NavigationView добавив туда программную кнопку назад. Что в моем случае (т.к. я использовал данный контрол) сыграла на руку: во-первых, это потребывало минимальных изменений в коде, во-вторых, моё приложение готово к гредущему обновлению.
Исходный код моего приложения лежит на GitHub’e. Если есть идеи, то you are welcome!
Скачать приложение можно тут