Вступление
Хочешь удивить друзей и написать простой, но зато свой сайт с своим любым функционалом, который только придёт тебе в голову, но не знаешь с чего начать? Здесь мы рассмотрим дорожную карту того, что необходимо изучить для начала на минимальном уровне, чтобы получить скелет, возможно, успешного проекта!
Немного о себе
Обучаюсь в одном из Московских Вузов России на направлении информационных систем и технологий. Реального опыта работы на данный момент еще нет, но постепенно планирую начинать поиск стажировок с дальнейшей возможностью трудоустройства. Весь представленный материал описан на основе полученных знаний во время обучения.
Первые шаги
Первым шагом будет осознание того, что нам вообще потребуется изучить, чтобы иметь хоть какие-то шансы на «успешный успех» с собственным веб-приложением. Рассмотрим карту для приложения на C#.
Если мы собираемся делать приложение в одиночку, то, как ни крути, потребуется разбираться во всём по чуть-чуть.
FrontEnd-разработка
На своём опыте и ощущениях могу сказать лишь то, что дизайнить и страдать с CSS мне удовольствия не приносит. Так что сам полностью в этой теме не ориентируюсь. Но познакомиться с основами должен каждый, а именно нам необходимо иметь представление о самых распространённых тегах в HTML, знать, как настроить базовый шрифт, цвет и фон на CSS, уметь составить простую программу на JavaScript. Всё это необходимо знать хотя бы для того, чтобы иметь представление о том, что вообще происходит в коде.
По большей части вся наша работа будет проходить с фреймворком React, позволяющим создать как скелет для приложения в виде кнопок, полей ввода, полей вывода информации, графиками и так далее.
Так же нам никуда не деться от логики для компонентов приложения, например, по нажатии кнопки должен отправиться запрос на сервер, по которому обратно придут данные о пользователе. Для решения таких задач подойдет TypeScript, который является статически типизированной надстройкой над JavaScript.
Полезными будут также MUI и Bootstrap. Они позволяют использовать на страницах приложения уже заранее разработанные компоненты, имеющие свой дополнительных набор параметров и свойств. На будущее потребуется изучить библиотеку React-redux, позволяющую хранить состояние объектов в браузере, но высокая вероятность того, что для простых приложений он будет не обязателен.
BackEnd-разработка
Бэкенд разработка заниматься частью, в которой клиент (браузер) общается с сервером (в нашем случае, просто с другим приложением, отделённым от фронтенда). Так как в университете мы изучаем C#, на карте представлены необходимые пункты именно по C# (любители Java, извините).
Первым делом это конечно же синтаксис самого C#, переменные, циклы и остальное. Без этого двигаться дальше мы не сможем. Одновременно с изучением C# в идеале уже начинать учить SQL, хотя бы простые запросы необходимо уметь составлять.
Один из лучших вариантов – после изучения основ SQL, познакомиться с реляционной базой данных PostgreSQL и pgAdmin, предоставляющим удобство работы с этой базой данных.
После того как мы знакомы с C# и PostgreSQL, можно переходить к действительно полезным вещам, которые очень сильно облегчат нам жизнь – Entity Framework Core. Данная библиотека позволяет «перевести» базу данных в код и общаться с ней посредством функций в самом C#, используя LINQ (довольно простая штука, если разобраться с SQL, то есть шанс почувствовать счастье, используя LINQ).
Заключительная часть бэкенда для нас – ASP NET Core. Всё общение с базой данных можно организовать через контроллер, который имеет некоторые функции, внутри которых мы и пользуемся нашей базой данных через Entity Framework Core. Для корректной работы приложения необходимо почитать про Dependency Injection, чтобы внедрить сервис базы данных в приложение, а также про CORS, который позволит обращаться одному нашему приложению (фронтед) к другому (бэкенд).
Как это должно выглядеть на словах - итоги
В итоге должно получиться 3 составляющих: Фронтенд-приложение, Бэкенд-приложение и сама база данных. Пользователь «тыкает» на кнопочку «войти», перед этим введя логин и пароль, затем на сервер отправляется запрос, в котором мы передали наши данные, сервер запрашивает с базы данных то, что ему требуется, и принимает решение впустить пользователя в аккаунт или нет. В этой статье не учтена просто тонна нюансов и деталей, но передана основная суть того, что даже для самого просто приложения необходимо очень много знаний и умений.