Программная Инженерияим. Л.П. Фельдмана
Ссылки на подобные работы магистров
Последние годы web-приложения стремительно развиваются, постепенно вытесняя настольные решения и становясь важнейшим компонентом бизнеса в современном мире. Все чаще компании прибегают к услугам разработки веб-приложений (web-application), чтобы эффективно решать широкий спектр бизнес-задач.
Чем веб-приложения отличаются от сайтов? Сайт – это в первую очередь что-то информационное и статичное: визитка компании, сайт рецептов, городской портал или вики. Набор подготовленных заранее HTML-файлов, которые лежат на удаленном сервере и отдаются браузеру по запросу. Сайты содержат различную статику, которая как и HTML-файл не генерируется на лету. Чаще всего это картинки, CSS-файлы, JS-скрипты, но могут быть и любые другие файлы: mp3, mov, csv, pdf. Блоги, визитки с формой для контакта, лендинги с кучей эффектов я тоже отношу для простоты к сайтам. Хотя в отличие от совсем статических сайтов, они уже включают в себя какую-то бизнес-логику. А веб-приложение — это что-то технически более сложное. Тут HTML-страницы генерируются на лету в зависимости от запроса пользователя. Почтовые клиенты, соцсети, поисковики, интернет-магазины, онлайн-программы для бизнеса, это все веб-приложения.
Какие бывают веб-приложения? Веб-приложения можно разделить на несколько типов, в зависимости от разных сочетаний его основных составляющих:
Мой путь в веб-разработке начался с изучения популярного бэкенд фреймворка на языке PHP Laravel. Я просмотрел немало обучающего материала по этой технологии, выполнял простые задания и довольствовался результатом. Даже выполнил тестовое задание на позицию бэкенд Laravel разработчика, но так никуда его и не отправил. Так я набирал начальный опыт, и такая работа мне очень даже понравилась.
Хоть мне и нравится бэкенд разработка, фронтэндом тоже пришлось заняться для полноты способностей в разработке веб-приложений. Мой выбор пал на гибкий и популярный фронтэнд фреймворк Vue.js. В нем очень удобно разрабатывать приложение по компонентам. Это могут быть как целые страницы, так и мелкие их составляющие. Компонент - это отдельный файл и сразу совмещает в себе шаблон, скрипты и стиль. То есть, в одном файле можно задать разметку, прописать логику на языке JavaScript и задать стили. Vue.js в связке с Laravel предлагают мощный инструментарий для разаработки веб-приложений почти всех видов.
Первый реальный заказ предполагал разработку страницы-визитки (лендинга), и для этого в большей степени нужны знания фронтэнд технологий. На тот момент я еще не достаточно изучил Vue.js, поэтому осваивал его с помощью реальной практической задачи. Могу отметить, что это самый продуктивный для меня способ обучения – есть реальная задача, которую нужно выполнить, а я по мере накопления вопросов и проблем их решаю.
Рисунок 1 - Мой первый реализованный заказ
Таким образом, я заработал первые деньги с фриланса - вида рабочей занятости, при которой специалист обеспечивает себя работой самостоятельно. Такой вид деятельности мне пришелся по душе, хотя по опыту выполнения лабораторных работ я этого совсем не ожидал. Поэтому, я этим заинтересовался и приступил к поиску новой работы на различных фриланс-биржах. И на одной из них на мою заявку откликнулся работодатель.
Этот работодатель представляет российскую компанию, которая занимается спутниковым мониторингом автопарка. Для начала, я успешно выполнил простое тестовое задание и немного пообщался с руководством, которое учло мое отсутствие серьезного опыта веб-разработки. Это мой первый коммерческий опыт в реальной компании, в коллективе таких же по сфере деятельности разработчиков. Мы использовали систему контроля версий BitBucket для введения новых возможностей в веб-приложение или исправления старых ошибок.
В основном мои задачи были типичными джуновскими тасками
. Я исправлял старые недочеты работы
веб-приложения, подправлял дизайн и т.д. То есть, задачи связанные с фронтэнд частью приложения.
Со временем мне стали поручать и бэкенд задачи приложения, и я решал задачи уже с обеих сторон
приложения. Первой моей серьезной задачей стал перевод одной из возможностей сервиса на новую
платформу и технологию. Я с нуля переписал старый функционал под новый фреймворк, и он был успешно
внедрен в продакшен
. Также, я вводил менее масштабные, но не менее интересные фичи
в
функционал основного приложения.
Рисунок 2 - Переписанная страница под новые технологии
Работа мне очень понравилась, однако нужно было решать проблемы с учебой и заданиями в университете. На момент написания этого материала я попросил приостановить свою работу у руководства и собираюсь вернуться немного позже. В дальнейшем я продолжу заниматься понравившимся мне делом и продвигаться по карьерной лестнице.