Фронтенд и бэкенд: принципы и отличия — статьи на Skillbox

Содержание

Какое направление профессии выбрать: frontend и backend разработчик

Киев|Блог|Какое направление профессии выбрать: frontend и backend разработчик Евгений Орлов Содержание:

Что делает Frontend-разработчик?

Визуальной составляющей web-сайтов занимаются Frontend-разработчики. Графические компоненты изначально формирует веб-дизайнер, а копирайтер работает над текстовым контентом. Задача Frontend-разработчика перевести все это в код, который будет корректно отображаться в браузере. По сути этот специалист занимается тем, что «оживляет» статичные макеты интерфейсов.

 Какие инструменты нужны Frontend-разработчику?

Разработчики направления Frontend отвечают за код веб-портала, его архитектуру и все взаимодействия с юзерами. Для решения этих задач применяется стандартный набор инструментов. В их число входит: JS, HTML, CSS.

Разработчики также применяют различные фреймворки. В их число: AngularJS, Bootstrap и другие. Они облегчают работу, и позволяют повысить ее эффективность. Чтобы стать хорошим Frontend-разработчику, также нужно уметь пользоваться популярной библиотекой jQuery и LESS. Они позволяют сделать код более наглядным и коротким. Важной технологией, применяемой во Frontend-разработке, является Ajax. Это метод JS, позволяющий динамически загружать странички, применяя данные с сервера.

Задача Backend-разработчика

После перехода на веб-портал на ваше устройство передается информация с сервера, которая преобразовывается в веб-страничку. В этом заключается зона ответственности Backend-разработчика. Он несет ответственность за серверную часть интернет-портала. Его работа представляет собой фоновую часть сайтов, которую не видят пользователи.

Какие инструменты необходимы Backend-разработчику?

Чтобы сервер, база данных и приложение взаимодействовали, необходимо применять серверные языки программирования. В их число входит:

Кроме того, в работе понадобятся знания Oracle, MySQL, SQL Server для работы с данными. Квалифицированный Backend-разработчик должен уметь использовать в работе PHP-фреймворки, программы для контроля версий, а также Linux, применяемый в роли системы разработки и развертывания. Программист должен не только писать правильный код, но и хорошо документировать его. Чтобы стать специалистом в этом направлении IT, необходимо пройти базовый курс обучения Java.

 

Frontend и Backend: взаимодействие

На самом деле оба направления тесно связаны между собой. Frontend передает данные от пользователя на сервер. Там выполняется их обработка. Результат возвращается пользователю в удобочитаемой форме.

Каждый специалист отвечает за свой компонент кода, который в итоге станет веб-ресурсом. Приведем примеры взаимодействия Frontend и Backend:

  • Сервер получает HTTP-запрос. Далее происходит поиск данных. Они встраиваются в шаблон, и возвращаются в виде веб-страницы.
  • AJAX. Этот запрос отсылает JS браузера, а ответ приходит в виде XML или JSON.

Каждое направление разработки играет важную роль. Программисты часто совмещают в своей работе как Frontend, так и Backend. Таких специалистов называют Full Stack разработчиками. Изучить Frontend вы сможете на курсах в киевском колледже DevEducation.

gsv.ru — Что такое frontend и backend

Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях


Front-end и back-end (фронтенд и бэкэнд) — это термины в программной инженерии, которые различают согласно принципу разделения ответственности между представительским уровнем и уровнем доступа к данным соответственно.

 

Клиент-серверная архитектура интернета

Перед тем как разобраться, что такое frontend и backend, давайте в общих чертах рассмотрим как работает интернет и как мы, пользователи, используя интернет, получаем необходимую нам информацию.

Интернет построен по клиент-серверной архитектуре, давайте рассмотрим следующие понятия:

Сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно сам компьютер, на котором это программное обеспечение установлено.

Клиентом называют Ваш компьютер, который подключен к глобальной сети интернет. На данном компьютере установлено клиентское программное обеспечение, необходимое для связи с сервером, оно называется браузер. Браузером (веб-обозревателем) — называется программа с помощью которой пользователи просматривают веб-сайты.

Одна из главных задач веб-сервера принимать запросы от пользователей (клиентов), обрабатывать их и выдавать ответы. Эти ответы представляют из себя HTML-страницы с стилями оформления, анимацией, изображениями, медиа, flash объектами, javascript скриптами и т.д. Это и есть frontend.

Используя клиентскую часть программы, т.е. frontend, пользователь переходя по ссылкам получает информацию, отправляет, сохраняет или изменяет данные. При этом он делает запросы и взаимодействует с другой частью программы, которая называется backend. Можно сказать, что frontend — это интерфейс взаимодействия между пользователем и backend.

Таким образов, можно сделать вывод:

frontend (фронтенд) — все что видит клиент, это публичная часть сайта, с которой непосредственно контактирует пользователь.

backend (бэкэнд) — серверная часть (работа с БД, обработка данных, и т.д.), вообщем все, чего клиент не видит.

 

frontend и backend разработчики

В соответствии с таким разделением, в сфере веб-разработчиков тоже произошли изменения, специалисты стали разделяться на frontend и backend разработчиков.

frontend и backend разработчики

 

Frontend-разработчик занимается созданием клиентской части сайта. Он верстает шаблона сайта и создает пользовательский интерфейс. Работа frontend-разработчика требует от него больших знаний. Он просто обязан обладать дизайнерским вкусом, быть искусным верстальщиком и хорошим программистом.

Backend-разработчик занимается не менее сложными вещами. Он производит обработку пользовательской информации полученной из frontend, и возвращает обратно результат в понятной форме. В руках этого специалиста сосредоточена все архитектуру создаваемого или существующего проекта, ядра сайта, он должен связать и настроить функциональные возможности сайта, получить определенные данные, оптимизировать сложные запросы, и.. как это часто бывает изменить, доработать или создать, какие то, новые решения, связав их с уже существующими. А это уже не шутки. )

Если следовать тенденции, то backend-разработка для серьезных бородатых дядей. В большинстве случаев работа backend-разработчика не может быть представлена визуально. Пример, backend-разработчик интегрировал две системы и автоматизировал выгрузку данным между ними. Ну и что, зато frontend-разработчик В. Пупкин такую анимированной галерею разработал, вот это да!

 

Термины frontend и backend по отношению к веб-сайтам

При разработке сайтов происходит разделение процесса его создания на две части:

  • frontend — разработка пользовательского интерфеса
  • backend — его административная часть

 

 

 

Определить языкАзербайджанскийАлбанскийАнглийскийАрабскийАрмянскийАфрикаансБаскскийБелорусскийБенгальскийБирманскийБолгарскийБоснийскийВаллийскийВенгерскийВьетнамскийГалисийскийГреческийГрузинскийГуджаратиДатскийЗулуИвритИгбоИдишИндонезийскийИрландскийИсландскийИспанскийИтальянскийЙорубаКазахскийКаннадаКаталанскийКитайский (Упр)Китайский (Трад)КорейскийКреольский (Гаити)КхмерскийЛаосскийЛатинскийЛатышскийЛитовскийМакедонскийМалагасийскийМалайскийМалайяламМальтийскийМаориМаратхиМонгольскийНемецкийНепалиНидерландскийНорвежскийПанджабиПерсидскийПольскийПортугальскийРумынскийРусскийСебуанскийСербскийСесотоСингальскийСловацкийСловенскийСомалиСуахилиСуданскийТагальскийТаджикскийТайскийТамильскийТелугуТурецкийУзбекскийУкраинскийУрдуФинскийФранцузскийХаусаХиндиХмонгХорватскийЧеваЧешскийШведскийЭсперантоЭстонскийЯванскийЯпонский

 

АзербайджанскийАлбанскийАнглийскийАрабскийАрмянскийАфрикаансБаскскийБелорусскийБенгальскийБирманскийБолгарскийБоснийскийВаллийскийВенгерскийВьетнамскийГалисийскийГреческийГрузинскийГуджаратиДатскийЗулуИвритИгбоИдишИндонезийскийИрландскийИсландскийИспанскийИтальянскийЙорубаКазахскийКаннадаКаталанскийКитайский (Упр)Китайский (Трад)КорейскийКреольский (Гаити)КхмерскийЛаосскийЛатинскийЛатышскийЛитовскийМакедонскийМалагасийскийМалайскийМалайяламМальтийскийМаориМаратхиМонгольскийНемецкийНепалиНидерландскийНорвежскийПанджабиПерсидскийПольскийПортугальскийРумынскийРусскийСебуанскийСербскийСесотоСингальскийСловацкийСловенскийСомалиСуахилиСуданскийТагальскийТаджикскийТайскийТамильскийТелугуТурецкийУзбекскийУкраинскийУрдуФинскийФранцузскийХаусаХиндиХмонгХорватскийЧеваЧешскийШведскийЭсперантоЭстонскийЯванскийЯпонский

 

 

 

 

 

 

 

 

 

Звуковая функция ограничена 200 символами

Первая реализация frontend или backend?



Для большинства из вас, гуру веб-разработки, мой вопрос будет звучать глупо, но как новичок я хотел бы спросить, нормально ли, что у меня будет разработан интерфейс и только после бэкенда?

Кроме того, если мне понадобится база данных, должен ли я сначала разработать ее дизайн?

Я также хотел бы узнать об аналитической части проекта. Друг вкратце сообщил мне, что для начала проекта необходим анализ требований (внутренних, технических и проектных). LEt скажем, если я хочу создать сайт социальной электронной коммерции с возможностью регистрации пользователей. Можете ли вы определить нумерованный список, что бы вы сделали для подготовки анализа для такого проекта (и т. д. 1. Проектирование базы данных а) подготовка моделей данных…)

Я был бы очень рад, если бы кто-нибудь мог дать исчерпывающий ответ.

Спасибо.

С Уважением, Донни

frontend backend
Поделиться
Источник funguy     07 июля 2010 в 19:55

5 ответов


  • Как разделить TypeScript/JavaScript между Frontend и Backend?

    У меня есть структура папок для проекта Node.js /w Angular.js с некоторыми такими файлами (из корня проекта): frontend frontend-file1.ts frontend-file2.ts backend backend-file1.ts backend-file2.ts Я использую компилятор TypeScript вместе со многими другими плагинами gulp , чтобы скомпилировать его…

  • dart как библиотеки помечены для frontend или backend

    Когда я смотрю на библиотеку dart, я знаю, например, что dart:io работает только на бэкэнде. Но библиотека dart:typed_data, она предназначена для бэкенда или фронтенда, или для того и другого. Как я могу распознать, если библиотека предназначена для frontend или backend? Как помечаются библиотеки?



12

Обычно я сам решаю, какие поля мне нужны в переднем конце 1-го.

Затем начните работать над базой данных backend..then средних уровней с блоком tests..then, наконец, переднего конца.

Конечно, как только я начинаю работать над передним концом, я думаю о большем количестве полей или изменений для database….such-это природа развития.

Поделиться Ed B     07 июля 2010 в 20:02



9

Я думаю, что этот вопрос на самом деле является вариацией вопроса о том, лучше ли дизайн снизу вверх или сверху вниз. Я нахожу, что это помогает сделать черновые наброски переднего плана, чтобы имитировать типичное использование сайта. Это помогает увидеть необходимые параметры бэкенда, которые в противном случае были бы пропущены (думая о необходимых данных).

Поделиться data     07 июля 2010 в 20:25



5

Особенно когда с проектом работают новые люди, я бы предложил постепенный подход.

Выберите некоторые функции, которые, как вы знаете, вам понадобятся. Начните с базы данных (SQL), затем бэкэнд-код (PHP, возможно), затем веб-интерфейс (HTML). Сделайте это как можно проще, чтобы выполнить этот один блок функциональности. Порядок вещей не имеет такого значения,как просто брать небольшой кусок за раз, чтобы работать.

Как только эта небольшая часть сработает, сохраните копию. Даже контроль версий. Таким образом, вы всегда можете вернуться к тому, что сработало, если завтра что-то испортите.

Затем выберите следующую небольшую функцию и добавьте ее. Я всегда нахожу это очень мотивирующим; вы видите последовательное улучшение.

Я бы, вероятно, планировал заранее на уровне базы данных, потому что в то время как любое изменение HTML действительно влияет только на HTML… изменения базы данных часто требуют изменений бэкэнд-кода, которые часто требуют изменений HTML, и необходимость переделывать все очень болезненна.

Поделиться Dean J     07 июля 2010 в 20:02


  • Frontend и Backend с express

    В настоящее время я работаю над веб-приложением с express.js. Я хочу иметь интерфейс и бэкэнд. Интерфейс должен показывать некоторое содержимое из базы данных, в бэкэнде я хочу создать это содержимое (аналогично cms). Я начал с этой структуры папок: app/ ├── frontend/ │ ├── public //Javascript,…

  • Настройка frontend и backend yii2.0

    Я создал веб-сайт, используя yii2.0. Чтобы открыть интерфейс сайта, я должен использовать localhost:8080/yii2/frontend/web/index.php , а чтобы открыть бэкэнд, я использую localhost:8080/yii2/backend/web/index.php . Мой вопрос заключается в том, как я могу открыть веб-сайт для frontend, например…



1

Вы должны спроектировать уровни, которые, как вы ожидаете, будут существовать во всей системе. Каждый уровень может быть параллельно спроектирован / реализован разными людьми, однако точки интеграции потребуют сотрудничества для принятия решения о контракте.

Существует два общих шаблона интерфейса / контракта:

1) потребитель / потребности приложения — > интерфейс / контракт диктуется приложением, и следующий уровень пишется для соответствия/адаптации к этим потребностям. Все эти уровни в настоящее время в основном управляются их нижестоящими потребителями. Плюсом является то, что у вас, скорее всего, будет самый эффективный и ограниченный набор необходимых методов, недостатком же является то, что есть больше работы по адаптации системы к другим потребителям.

OR

2) поставщик услуг — > интерфейс / контракт продиктован сервисом, который предназначен для поддержки основного набора общих функций, которые могут обслуживать многие приложения, даже некоторые из них еще не известны. Приложение, которое потребляет поставщика, должно затем адаптировать возможности контракта с его внутренними потребностями. Плюсом является то, что сервис более пригоден для повторного использования без изменений, однако эти обобщенные методы, скорее всего, будут менее эффективно подходить для нужд любого конкретного приложения.

Ни один из них не является идеальным ответом, это зависит от ситуации. Решение 1 или 2 выше также может отличаться в зависимости от того, над каким соединением уровня вы работаете. У вас может быть служба с контрактом на обслуживание #2,, приложение с собственным контрактом на потребности #1,, а затем уровень адаптера, который сопоставляет потребности приложений с функциональностью службы.

Независимо от того, какой шаблон вы используете, архитектура ваших уровней, их контракты и то, как они взаимодействуют друг с другом, более важны, чем когда вы начинаете работать на каком-либо конкретном уровне.

В общем случае, как только дизайн уровней будет создан, вы будете работать на уровнях, где определяются контракты, и следить за уровнями, где контракты потребляются.

Поделиться David     07 июля 2010 в 20:05



0

Вопрос в высшей степени субъективный. В практической реальности, в которой мы живем, человек ограничен способностью клиента передавать свои требования таким образом, чтобы они могли быть переведены в код (и, конечно, постоянно расширяющиеся требования). В средних и крупных компаниях большинство этих обязанностей выполняют бизнес-аналитики. Что касается того, с какого уровня начать дизайн, то DB парень скажет DB, webguy скажет frontend, etc…to каждый в соответствии со своими способностями.

Серебряной пули нет. Я рекомендую вам ознакомиться с несколькими основными парадигмами, такими как Agile и waterfall .

Поделиться P.Brian.Mackey     07 июля 2010 в 20:16


Похожие вопросы:


Magento запрос-Frontend, Backend или API?

Хорошо — я прочитал и мне нравится обсуждение Magento frontend/backend и согласен с ответом Бена в запросе Magento-Frontend или Backend? А теперь давайте поднимемся на ступеньку выше. У нас есть…


Чем отличается Backend от Frontend кэша Zend Framework

Я внедряю кэширование для своего веб-сайта, который использует Zend Framework. Я смотрю в исходный код и вижу, что: Zend_Cache::factory() всегда нужны две конфигурации backend и frontend. И моя…


FrontEnd или шифрование BackEnd?

Я создаю систему, требующую пароля. Мой вопрос в том, должен ли я зашифровать его frontend или backend? Если я сделаю это frontend (вероятно, с javascript), то каждый сможет взломать шифрование =…


Как разделить TypeScript/JavaScript между Frontend и Backend?

У меня есть структура папок для проекта Node.js /w Angular.js с некоторыми такими файлами (из корня проекта): frontend frontend-file1.ts frontend-file2.ts backend backend-file1.ts backend-file2.ts Я…


dart как библиотеки помечены для frontend или backend

Когда я смотрю на библиотеку dart, я знаю, например, что dart:io работает только на бэкэнде. Но библиотека dart:typed_data, она предназначена для бэкенда или фронтенда, или для того и другого. Как я…


Frontend и Backend с express

В настоящее время я работаю над веб-приложением с express.js. Я хочу иметь интерфейс и бэкэнд. Интерфейс должен показывать некоторое содержимое из базы данных, в бэкэнде я хочу создать это…


Настройка frontend и backend yii2.0

Я создал веб-сайт, используя yii2.0. Чтобы открыть интерфейс сайта, я должен использовать localhost:8080/yii2/frontend/web/index.php , а чтобы открыть бэкэнд, я использую…


Логика фильтров должна быть на frontend или backend?

Я создаю веб-приложение Frontend-reactjs и backend-java. Frontend и backend общаются друг с другом через rest. В пользовательском интерфейсе я показываю список элементов. И мне нужно отфильтровать…


X-Forwarded-Proto https в frontend или backend (HAProxy)?

Я настроил HAProxy перед моим бэкенд-серверным приложением, чтобы включить HTTPS. Я читал, что мне нужно установить X-Forward-Proto https . В файле haproxy.cfg я попытался сделать это в интерфейсе с…


Reactify Django или разделенные frontend и backend

Я хотел бы знать, почему sould reactify Django или почему мы должны использовать разделенный django backend и react frontend. какая реализация более масштабируема Я надеюсь, что вы могли бы мне…

“Front-end” и “back-end” Разработка

Разработка сайтов по системе front-end и back-end подразумевает иерархическое разделение процесса создания ресурса на две части, на разработку пользовательского интерфеса –(фронтэнда) и его программно-административной части (бэкэнда).

Front-end разработка – это работа по созданию публичной части сайта, с которой непосредственно контактирует пользователь и функционала который обычно обыгрывается на клиентской стороне (в браузере).

К аспектам фронтэнд разработки можно отнести создание дизайн-макета сайта, верстку сайтов и шаблонов для CMS, а также привязку к пользовательскому интерфейсу специальных скриптов, отвечающих за визуализацию и web-анимацию.

Фронтэнд составляющая часть сайта отвечает за вывод определенной информации пользователю ресурса и по факту совершения, им, каких либо действий на сайте, интерпретацию ее в вид понятный программам, относящимся к бэкэнду.

При создании пользовательской стороны сайта и формировании html страницы мы учитываем следующие моменты:

  • Грамотное использование тегов h2, h3 и т.д. в порядке очерёдности.
  • Грамотное использование тега lang.
  • Реальное заполнение атрибута alt для картинок. Если на картинке изображен логотип, то “Логотип компании”, если человек, то имя человеке. Для значков на английском языке “Twitter Icon” и т.д. (не относиться к динамическим изображениям, например, фото новости).
  • Не забываем про метатеги.
  • Не забываем про фавиконку (favicon).
  • Там где предполагается ссылка, должна быть прописана ссылка.
  • Для контактов использовать атрибуты skype, tel и mailto.
  • Ссылки на внешние страницы должны открываться в новом окне.
  • Каждая ссылка имеет атрибут title.
  • Код хорошо прокомментирован.
  • Оптимизация изображений для Интернета.
  • Использование мобильных версий картинок, там где это необходимо.
  • HTML, CSS и JS файлы должны иметь параллельно с основной (рабочей) и сжатую версию для последующего запуска сайта на хостинге.
  • Все стили и скрипты вынесенны в отдельные файлы.
  • Размеры всех картинок заданы средствами CSS.
  • Использовать слайдеры, карусели и галереи адаптированны для мобильных устройств.
  • Всплывающие окна адаптированны для мобильных устройств.
  • Переименование файлов в случае использования кеширования.
  • Подсветка (hover, active, visited) для ссылок.
  • Подсветка (hover, active) для кнопок и полей в формах.
  • Прижатый подвал при малом кол-ве контента на странице.
  • Отсутствие outline у кнопок.

Back-end разработка

Бэкэнд development – это процесс программирования сайта и наполнения его функционалом. Создание ядра сайта, разработка платформы сайта, наполнение его основным функционалом и создание административной зоны – это и есть бэкэнд разработка.

Бэкэнд производит обработку пользовательской информации полученной из front-офиса, и возвращает front-end’у результат в понятной ему форме.

Бэкэнд программирование — это веб программирование, целью которого является реализация серверной стороны сайта, интеграция базы данных и связь ее с пользовательской (front-end) стороной. Разработка бэкэнда сайта так же включает настройку и установку на сервер необходимого программного обеспечения.

Проще говоря, фронтэнд передает информацию и команды от пользователя в бэкэнд, а тот в свою очередь производит их обработку. Или если уж совсем просто, то — Front-end создается для посетителя сайта, а Back-end для его администратора.

Введение в фронтэнд и бэкэнд – основы веб-разработки

Хотите создать веб-сайт?

Здорово! Создание веб-сайта — плодотворный творческий проект, увлекательный и полезный как для приобретения востребованных навыков, так и отличный способ попробовать себя в новом деле и поделиться опытом с большим числом людей (ну или просто несколькими знакомыми).

Как правило, приступая к созданию сайта, отправной точкой становится знакомство с HTML и CSS — и это лучшее начало!

Однако вместе с тем давайте разберемся, как устроена работа вэб-сайтов изнутри. Системный взгляд поможет глубже разобраться как в конкретных, так и общих вопросах веб-разработки.

Фронтэнд и бэкэнд

Два слова для понимания работы веб-сайтов, которые возможно вы уже слышали раньше – фронтэнд и бэкэнд. Часто они рассматриваются (и преподаются) раздельно — как два направления, но оба важных и тесно связанных друг с другом в большинстве проектов.

Говоря по-простому, фронтэнд — это любой код, который выполняется браузером, а бэкэнд – любой код, выполняемый сервером.

Сервер

Роль бэкэнд-кода для сервера на первый взгляд проста:

1.   Перехватывать запросы.

2.   Отвечать на запросы.

Самый распространенный пример — запрос на доступ к домашней странице веб-сайта. Получив такой запрос сервер отправляет в ответ на него HTML, CSS, JavaScript, изображения и другие файлы, связанные с этой страницей.

Однако такие запросы и ответы гораздо сложнее. Бэкэнд-код также обрабатывает запросы на извлечение и хранение в базе, на динамическую визуализацию страниц, проверку безопасности и подлинности, обработку изображений, требующую больших затрат машинных ресурсов и решать другие трудные задачи в ответ на поступающие запросы.

Сформированные ответы также могут принимать различные формы. Быть простыми, как старые-добрые HTML и CSS-файлы или же файлы изображений и аудиозаписи, или файлы данных, например, JSON.

Бэкэнд-код пишется на разных языках программирования. Ruby, PHP, Python, Java и JavaScript — самые распространенные. Бэкэнд, помимо написания кода, на котором сайт работает, часто включает в себя и то, что принято назвать задачами «системного администратора», к которым относятся установка серверных инструментов, настройка баз данных и т.д.

Изучение языков программирования для бэкэнда открывает доступ к функциональным возможностям дальнейшего применения веб-сайта. Например, взяв статическую страницу, вы сможете добавить различные способы взаимодействия с сайтом. Кратчайшим путем в бэкэнд-разработку сначала будет изучение одного из перечисленных языков программирования, а в дальнейшем — изучение бэкэнд-фреймворков или систем управления контентом на одном из языков программирования, например, Ruby on Rails (Ruby), Express (JavaScript), WordPress (PHP), Laravel (PHP), Django (Python) и так далее.

Браузер

Хотя ответ с сервера может принимать различные формы, давайте вернемся к нашему примеру с обобщенным запросом веб-страницы. После обработки запроса сервер выдает ответ в виде набора HTML, CSS и JavaScript-файлов наряду с дополнительными данными, которые могут требоваться запрашивающему.

Браузер получает и обрабатывает эти файлы. Программный код этих файлах является фронтэндом, поскольку работает на стороне браузера.

Главная роль фронтэнда заключается в следующем:

1.   Запрашивать информацию (данные, файлы и т.д.) бэкэнда.

2.   Отображать или визуализировать эту информацию.

3.   Перехватывать входные данные пользователя (клики, трафик, скроллинг, наведения курсора, ввод с клавиатуры, голосовые команды и т.д.).

4.   Отвечать на данные пользователя.

Относительно первого пункта – большинство запросов обрабатываются браузером при нажатии ссылки или вводе нового URL-адреса. Новая информация также может быть запрошена браузером с помощью JavaScript-кода уже после того, как страница будет загружена в браузер.

Отображение определяется обработкой HTML и CSS в браузере. HTML-код сообщает браузеру о структуре и содержимом страницы, а CSS – о том, как отобразить все ее на экране.

И браузер, и JavaScript-код вэб-страницы обеспечивают визуальное взаимодействие пользователя с изображением сайта на дисплее и отвечают на его реакции с помощью встроенных функций браузера или посредством пользовательских настроек JavaScript.

Написание HTML, CSS и JavaScript-кода для браузера – это и есть фронтэнд-программирование. Написание этого кода часто зависит от методов бэкэнд-обработки данных, поэтому оба этих два тесно взаимосвязаны.

Имеется большое количество библиотек, фреймворков и других инструментов для фронтэнда, начиная с простого HTML, CSS и JavaScript до таких инструментов, как jQuery, React и Angular, но при этом роль фронтэнда не зависит от того, какой инструмент используется. Инструменты – лишь способы решения задач.


Мир веб-разработки – это широчайшее поле для исследований и изучения. Откуда бы вы ни начали путь, имея представление о фронтэнде и бэкэнде и том, для чего они служат, вы всегда сможете сделать следующий шаг. Не знаете, с чего начать? Рекомендую попробовать и то и другое, и уже исходя из личного опыта, вкусов и предпочтений двигаться дальше!

Перевод статьи Kevin McGillivray: Introduction to the «Frontend» and «Backend»—Web Development Fundamentals

Фронтенд и бекенд на простом языке (только суть)

Современное IT приобрело свое современное лицо с момента появления жесткой конкуренции в интернете. Теперь никого не удивишь своей “многогранностью”, наоборот, ценится тот специалист, который глубоко знает свою предметную область.

Если раньше в приличное интернет-агентство набирали людей, которые имеют знания в каждой сфере: будь это html и css (верстка макета сайта), и php (программирование, создание баз данных). Сейчас же все изменилось. Начинают цениться узконаправленные специалисты. Один занимается только разработкой внешнего вида сайта (фронтенд), другой копается в базах данных и движках (бекенд)…

Фронтенд

Мир поменялся, конкуренция в интернете настолько большая, что сайтом визиткой теперь никого не удивишь. Люди «гуляют» по сайтам, как по улице. Человека теперь нужно заманивать в нужные разделы, направлять взгляд, заставить сделать что-то.

Когда вы попадаете на сайт, на качественной сделанный сайт, что вы видите в первую очередь? Правильно: красивый дизайн, удобную навигацию (меню), читабельный и уникальный текст, адаптацию под мобильные устройства, в конце концов!

Всю эту красоту нарисовал дизайнер — бог Photoshop и мастер Illustrator. А оживил фронтенд-специалист — настоящий ас HTML, CSS и магистр JavaScript. Цель дизайнера сделать максимально удобный дизайн для пользователя, а цель фронтенда — не запороть нарисованный макет, грамотно реализовать его с технической стороны. Дизайнер рисует, фронтенд верстает и адаптирует. Продумывается все до последней мелочи. Но это еще не все…

Вот видите социальные сети внизу сайта? Это все неспроста. Это несет определенную цель, допустим, избежать потери клиента. Он ведь может просто покинуть страницу, ничего не сделав. А так, он лишний раз перейдет в группу, и увидит там то, что задумал маркетолог.

Маленький вывод. Работая над фронтендом, все придерживаются правил UX дизайна. На английском языке — Users experience, на русском — «опыт пользователя». Над фронтенд составляющей работает не один, и даже не два человека. Конечно если речь не идет о разработке интерфейса для рабочей программы, там обычно все очень сухо и просто. Обычно реализуется с помощью одного фронтенд-разработчика и одного бекенда.

Фрагмент страницы с пользовательской стороны.

Бекенд

В отличие от своих коллег по цеху, бекэнд-специалист чаще всего не может похвастаться своей работой так просто. Он не сможет вам показать переливающийся текст, сделанный с помощью JavaScript, а вы такие: «Вау, круто, оно меняет цвет».

Нет. Бекэнд – это работа для суровых бородатых дядек-хардкорщиков. Они получают истинное наслаждение от классной созданной архитектуры базы данных, от того, что они качественно настроили производительность серверного кода.

Бекенд-специалист часто работает над функционалом сайта. Делают всякие полезные штуки с помощью PHP или Python для обычных людей, которые не знают программирования. Например, создают разделы внутри административной панели сайта, в которых можно редактировать часть контента (информации) без знаний программирования! Люто полезные ребята.

Проще говоря, эти бойцы работают с серверной частью сайта (с невидимой), с хранилищем данных. Частые случаи, когда такая работа остается слабо оцененной, потому что «на глаз» результата нет. Хотя от этих ребят зависит работа баз данных, безопасности и вообще всего сайта. Ну и к слову, бекенд разработчик получает побольше фронтенда.

Этот же фрагмент, но только изнутри панели управления. Тут реализована возможность добавлять Аниматоров в виде карточек самостоятельно (без знаний программирования).

Full stack

Ну и напоследок, мы говорили, что раньше было по-другому: молодые программисты хорошо разбирались во всем, не уходя глубоко в одну специализацию. Раньше было важно иметь «масштабные» знания, чтобы понимать все процессы. Но интернет поменялся, а такие ребята до сих пор остались. Называют их Full stack (фул стэк) разработчики.

Full stack это когда человек хорошо разбирается и в пользовательской части и в серверной. И да, речь идет уже только о программистах.

Вот мы и пришли к сути. Фронтенд и бекенд не исключающие друг друга элементы, а вполне гармоничные, дополняющие друг друга. Конечно, иногда одно без другого может обойтись, но все зависит от конкретного случая. Спасибо, что прочли и удачи, друзья.

Аутсорсинг backend разработки 💻| Компания «Work Solutions»

Что такое бэкэнд

Программное обеспечение можно сравнить с айсбергом: конечные пользователи видят лишь верхушку, а основная часть в большинстве случаев остается скрытой от их глаз. Последнюю принято называть бэкендом, и о ней мы и расскажем в этом материале.

Чем бекэнд отличается от фронтэнда

Сложная и многоуровневая структура современных веб-приложений требует разграничивать зоны ответственности разработчиков. В программировании принято разделять работу проекта на две части: клиентскую и серверную.

Как мы уже разобрались, к фронтенду относится та часть веб-приложения, с которой взаимодействуют конечные пользователи. Бэкенд отвечает за серверную часть, где реализована работа с данными. Фронтенд-разработчику не обязательно понимать, как устроена серверная функциональность, а бекенд-программист может не знать подробностей реализации клиентской части. Существуют программисты, которые способны создать приложение полностью, таких специалистов называют full-stack разработчиками.

Программный код, который отвечает за пользовательские интерфейсы, как правило, составляет меньшую часть сайта. Бекенд отвечает за хранение, получение и передачу данных, вычисления, а также бизнес-логику и правила, по которым работает сайт. Эти компоненты системы могут быть мощными и функциональными, не имея при этом пользовательских интерфейсов.

Для наглядности представим экран приложения, на котором можно просмотреть профиль зарегистрированного пользователя. Как, например, в социальных сетях. За внешний вид этого экрана отвечает frontend, который сообщает браузеру, где будет расположена фотография пользователя, а где имя и статус. Но именно backend определяет, какие данные взять из базы по конкретному пользователю ипередает их для отображения на сайте.

Как передать на аутсорсинг разработку backend

При передаче задач фронтенд исполнителю достаточно предоставить дизайн-макеты. Аутсорсинг разработки бэкенд составляющей — задача более сложная, желательно учитывать тонкости проектной работы.

Чтобы получить необходимый результат, потребуется приложить усилия для описания бизнес-требований проекта. На их основе опытные исполнители смогут правильно описать функциональные требования и составить техническое задание.

Если хотите, чтобы разработка проекта прошла как можно более гладко, не экономьте на проектировании системной архитектуры. Определите, хватит ли системе монолитной структуры или лучше выбрать микросервисную. От этого зависит расширение функционала и увеличение нагрузки с ростом числа пользователей.

Правильно выбирайте стек технологий: от языка программирования и фреймворка зависит, насколько легко пройдет создание цифрового продукта. Привлеките экспертов для подбора инструментов разработки. Уделите особое внимание базе данных: команда разработчиков должна её правильно спроектировать, внедрить и задокументировать.

Не откладывайте автоматизацию тестирования. Поиск ошибок часто занимает больше времени, чем их устранение, поэтому автотесты сэкономят вам сотни часов в будущем. Помните о безопасности данных: при разработке, скорее всего, будут использоваться тестовые данные, поэтому обсудите с исполнителем класс защиты информации.

Даже когда продукт создается штатными специалистам, для начала работы с информационной системой любой разработчик потратит немало времени на погружение в контекст проекта. Ввод новых людей — затратная процедура, поэтому при аутсорсинге разработки старайтесь снизить зависимость проекта от конкретного исполнителя. Обсудите формат передачи знаний с подрядчиком. При составлении бюджета учтите документацию базы знаний проекта.

Организуйте процесс коммуникации между front- и back-end разработчиками. Утвердите процессы согласования задач и этапов. Если синхронизировать работу этих двух направлений, проект с большей вероятностью уложится в сроки. Конечно, в этом не будет необходимости, если вы нанимаете полную команду у outsource-компании.

Какие бекенд-технологии применяются в современной веб-разработке

От бизнес целей зависит выбор инструментов веб-разработки. Рассмотрим самые популярные технологии, которые подходят для создания бекенд-приложений для коммерческих систем.

Большинство коммерческих сайтов написано на PHP. Для разработки на этом языке программирования существуют фреймворки. Это платформы, которые определяют структуру системы и упрощают объединение компонентов большого программного проекта. Laravel, Symfony, Yii и Zend — самые популярные бесплатные PHP-фреймворки. Каждый из них имеет отличия, но все они используют архитектурную модель MVC (модель-представление-контроллер) и поддерживают популярные баз данных (MySQL, PostgreSQL, SQLite).

Другой, не столь распространенный, но при этом популярный язык бекенд-программирования — Python и его фреймворки Django, Flask, Asyncio. К преимуществам принято относить скорость и производительность работы. В отличие от PHP, Python поддерживает параллелизм, что позволяет создавать более производительные и масштабируемые системы. Этот язык также подходит для решения задач, связанных со сферами машинного обучения и анализа данных, которые открывают широкий спектр возможностей для бизнеса.

В статье про фронтенд мы говорили, что для создания веб интерфейсов используется Javascript. Но благодаря платформе Node.js и фреймворкам типа Express.js, этот язык также применим для написания бекенд приложений. Эта технология подходит для сайтов, которые не работают с тяжелыми алгоритмами и не нагружают процессор большим количеством задач.

Почему мы?

Наша компания выполнила десятки проектов разного масштаба с использованием вышеперечисленных фреймворков. Все наши бекенд-разработчики имеют навыки, с помощью которых они создают отказоустойчивые и высоконагруженные серверные приложения.

Некоторые проекты мы сопровождаем и улучшаем в течение многих лет, доказывая, что аутсорсинг бекенд разработки может быть эффективным. Отзывы наших клиентов прямо говорят о том, что опытная удаленная команда может работать быстрее и качественнее внутренней команды разработки.

Получите консультацию

Источник изображений: Freepik Stories

В чем разница между Front-End и Back-End разработкой? Software Engineering

Первоначально опубликовано 9 февраля 2017 г., обновлено 27 февраля 2019 г.

Front-end разработчики работают над тем, что видит пользователь, в то время как back-end разработчики создают инфраструктуру, которая его поддерживает.

Оба являются необходимыми компонентами для высокофункционального приложения или веб-сайта.

Компании нередко сталкиваются с разделением «внешний и внутренний» , пытаясь сориентироваться в разработке нового программного обеспечения.

В конце концов, на рынке появляется все больше инструментов, направленных на то, чтобы помочь разработчикам стать более ориентированными на «полный стек», поэтому нетехническим специалистам легко предположить, что нет большой разницы между интерфейсом и сервером. специалистов.

Front-end и back-end разработчики работают в тандеме, чтобы создать системы, необходимые для правильного функционирования приложения или веб-сайта. Однако у них противоположные опасения.

Термин «внешний интерфейс» относится к пользовательскому интерфейсу , в то время как «внутренний» означает сервер, приложение и базу данных , которые работают за кулисами для доставки информации пользователю.

Пользователь вводит запрос через интерфейс.

Затем он проверяется и передается на сервер, который извлекает необходимые данные из базы данных и отправляет их обратно пользователю.

Рассмотрим подробнее разницу между интерфейсной и внутренней разработкой.

Что такое Front-End разработка?

Внешний интерфейс построен с использованием комбинации таких технологий, как язык гипертекстовой разметки (HTML), JavaScript и каскадные таблицы стилей (CSS).

Интерфейсные разработчики проектируют и создают элементы взаимодействия с пользователем на веб-странице или в приложении, включая кнопки, меню, страницы, ссылки, графику и многое другое.

HTML

Hypertext Markup Language — это ядро ​​веб-сайта, обеспечивающее общий дизайн и функциональность.

Самая последняя версия была выпущена в конце 2017 года и известна как HTML5.2.

Обновленная версия включает больше инструментов, предназначенных для разработчиков веб-приложений, а также изменения, внесенные для улучшения взаимодействия.

CSS

Каскадные таблицы стилей предоставляют разработчикам гибкий и точный способ создания привлекательных интерактивных дизайнов веб-сайтов.

JavaScript

Этот язык, основанный на событиях, полезен для создания динамических элементов на статических веб-страницах HTML.

Он позволяет разработчикам получать доступ к элементам отдельно от главной HTML-страницы, а также реагировать на события на стороне сервера.

Также популярны интерфейсные фреймворки, такие как Angular, Ember, Backbone и React.

Эти фреймворки позволяют разработчикам удовлетворять растущий спрос на корпоративное программное обеспечение без ущерба для качества, поэтому они получают свое место в качестве стандартных инструментов разработки.

Одна из основных проблем фронтенд-разработки — которая также называется «разработка на стороне клиента» — — это быстрые темпы изменений в инструментах, методах и технологиях, используемых для создания пользовательского опыта для приложений и веб-сайтов.

Казалось бы, простая цель создания ясного, легкого для понимания пользовательского интерфейса трудна из-за иногда сильно различающихся разрешений и размеров экранов мобильных устройств и компьютеров.

Все становится еще сложнее, когда речь идет об Интернете вещей (IoT).

Размер экрана и подключение к сети теперь стали более разнообразными, поэтому разработчики должны учитывать эти соображения при работе над своими пользовательскими интерфейсами.

Что такое внутренняя разработка?

Внутренняя часть, также называемая серверной стороной, , состоит из сервера, который предоставляет данные по запросу , приложения, которое его направляет, и базы данных, которая систематизирует информацию.

Например, когда покупатель просматривает обувь на веб-сайте, он взаимодействует с клиентской частью.

После того, как они выберут нужный товар, поместят его в корзину и авторизируют покупку, информация сохраняется в базе данных, которая находится на сервере.

Через несколько дней, когда клиент проверяет статус своей доставки, сервер извлекает соответствующую информацию, обновляет ее данными отслеживания и представляет ее через интерфейс.

Внутренние инструменты

Основная задача разработчиков серверной части — создание приложений, которые могут находить и доставлять данные в интерфейсную часть.

Многие из них используют надежные базы данных корпоративного уровня, такие как Oracle, Teradata, Microsoft SQL Server, IBM DB2, EnterpriseDB и SAP Sybase ASE.

Существует также ряд других популярных баз данных, включая MySQL, NoSQL и PostgreSQL.

Существует множество платформ и языков, используемых для кодирования приложения, например Ruby on Rails, Java, C ++ / C / C #, Python и PHP.

За последние несколько лет Backend-as-a-Service (BaaS) провайдеров превратились в жизнеспособную альтернативу.

Они особенно полезны при разработке мобильных приложений и работе в плотном графике.

Что такое разработка полного стека?

Разработка как серверных, так и интерфейсных систем стала настолько специализированной, что разработчики чаще всего специализируются только на одной.

Как правило, разработка полного стека одним программистом не является практическим решением.

Тем не менее, иногда в компании по разработке программного обеспечения на заказ будут разработчики, которые хорошо разбираются в обеих сторонах, известных как разработчик полного стека .

Они сильные командные игроки, потому что обладают обширными знаниями, чтобы видеть общую картину, позволяя им предлагать способы оптимизации процесса или устранения препятствий, которые могут замедлять работу системы.

Чтобы узнать, какую базу данных и фреймворк использовать в вашем следующем проекте, прочитайте нашу статью «Какое сочетание Front-End / Back-End является лучшим для корпоративного приложения».

Если вы готовы увидеть, как мы можем применить наши знания на практике, запишитесь на бесплатную консультацию сегодня!

Frontend vs.Backend-разработчики: в чем разница?

При обучении программированию новички часто сталкиваются с двумя путями: фронтенд И бэкэнд. Что вы выберете? Вы можете сделать и то, и другое? Сколько зарабатывает на работе тот, кто кодирует HTML и CSS? В этом посте мы рассмотрим различия каждого из них с точки зрения описания, навыков, языков программирования и доходов.

Фронтенд и бэкэнд-разработчики

  • Frontend-разработчики создают внешний вид веб-сайта .
  • Backend-разработчики создают, как работает веб-сайт

Допустим, вы хотели создать веб-сайт на WordPress для своего бизнеса. Интерфейсный разработчик создавал бы тему: изображения, стиль и презентацию. В то время как внутренний разработчик может работать над управлением базой данных, а также над проблемами пользователей, безопасности и производительности сайта.

Фронтенд и бэкэнд-разработчики (инфографика)

Языки программирования

Frontend-разработчики в основном используют три языка: HTML, CSS, Javascript.За последние несколько лет роль разработчика внешнего интерфейса изменилась, и поэтому профессиональные разработчики внешнего интерфейса могут также захотеть рассмотреть возможность развития некоторых более промежуточных и продвинутых навыков JavaScript, а также накопления опыта с использованием инструментов командной строки и таких фреймворков, как Реагировать.

Backend-разработчики должны хорошо владеть языками программирования, которые отображаются на стороне сервера веб-сайта или приложения. Самые популярные языки программирования backend — PHP, Ruby, Python, Node.js и Java. Обычно хороший backend-разработчик владеет одним из этих языков, но достаточно хорошо знаком, чтобы программировать на 2-м или 3-м языке программирования. Backend-разработчики также должны иметь опыт работы с такими базами данных, как MySQL, Oracle и SQL Server.

Если у вас еще нет опыта в любом из этих языков, вы можете начать с некоторых курсов программирования для начинающих на нескольких разных языках программирования, чтобы увидеть, какой из них привлечет ваше внимание.

Навыки

Итак, какие навыки нужны фронтенд-разработчику по сравнению с бэкэнд-разработчиком?

Разработчики внешнего интерфейса работают над внешним видом и пользовательским интерфейсом веб-сайта, поэтому в дополнение к языкам программирования, перечисленным выше, разработчик внешнего интерфейса должен обладать некоторыми навыками использования инструментов дизайна, таких как PhotoShop, Sketch или Figma.Разработчики веб-интерфейса также должны знать основы веб-хостинга и покупки домена.

Backend-разработчики , с другой стороны, должны обладать навыками критического мышления. Бэкэнд-разработчик часто занимается отладкой кода, а также разрабатывает системы для взаимодействия пользователя с веб-сайтом. Вопросы, на которые должен уметь ответить серверный разработчик: Где хранятся данные? Это надежно хранится? Если посещаемость сайта увеличится в 100 раз за ночь, сможет ли сайт масштабироваться без сбоев? Как я могу добавить на сайт новую функцию, не нарушая при этом текущую функциональность? Как я могу протестировать веб-сайт (часто на промежуточной платформе и / или запускать тесты с использованием Test-Driven Development ), чтобы конечный пользователь столкнулся с как можно меньшим количеством ошибок и ошибок?

Образование

Если вы хотите стать фрилансером или открыть собственную компанию, вы можете отказаться от формата университетского маршрута и заниматься самообразованием с помощью онлайн-курсов.Если вы можете доказать свою эффективность, вам не нужно показывать ученую степень, чтобы зарабатывать на жизнь. Если вы начинаете полностью с нуля, возможно, вам придется разработать несколько проектов самостоятельно. Таким образом, ваше портфолио может продемонстрировать ваш опыт первой паре клиентов. Сильное портфолио особенно важно для фронтенд-разработчиков.

Независимо от того, хотите ли вы стать разработчиком внешнего интерфейса или внутреннего интерфейса: я бы посоветовал вам изучить HTML и CSS. Эти два языка очень мощные (и их не так уж сложно выучить), и они являются основой всей веб-разработки.

Заработная плата

Frontend : 70 000 долларов США (средняя базовая зарплата по данным Glassdoor) в диапазоне от 56 000 до 111 000 долларов. И почасовая ставка около 50 долларов в час.

Backend dev : 117 000 долларов США (средняя базовая зарплата по данным Glassdoor). В диапазоне от 100 до 140 тысяч долларов. И почасовая ставка около 65 долларов в час.

Заработная плата может сильно различаться в зависимости от вашего опыта (отмечается по младшим, ведущим и старшим званиям) и в зависимости от вашей специальности.Специальности также влияют на зарплату, о чем свидетельствует разница в зарплате между старшим веб-разработчиком Javascript, который заменяет старшего фронтенд-разработчика.

Кроме того, на таких сайтах, как UpWork, вы сможете найти разработчиков, которые взимают от 10 долларов в час до более 150 долларов в час. И поэтому, если вы хотите нанять разработчика, вам действительно нужно сделать домашнюю работу (или потратьте время, чтобы просмотреть портфолио разработчика, пройти собеседование и попросить рекомендации у прошлых работодателей), чтобы найти подходящего партнера.

Стоимость найма разработчиков

Разработчик может взимать разные суммы в зависимости от множества факторов. Вот несколько основных причин:

  • Независимо от того, являетесь ли вы разработчиком-фрилансером, подрядчиком, сотрудником с частичной или полной занятостью.
  • Ваша специализация как разработчика — языки программирования, которыми вы владеете больше всего, инструменты, с которыми вы наиболее знакомы, и т. Д.
  • Способны ли вы напрямую взаимодействовать с заказчиком, имеете ли вы навыки управления проектами и способны ли вы управлять командой.
  • Если вы внештатный разработчик или подрядчик, сеть, через которую вы предлагаете свои услуги.
  • Где вы живете и где работаете (удаленная работа или работа на дому).
  • Сколько у вас образования по специальности.
  • Количество опыта работы в своей области.
  • Как долго вы проработали в определенной компании в качестве сотрудника, занятого неполный или полный рабочий день.

Что такое Full-Stack Developer?

Людей, обладающих навыками как в интерфейсной, так и в серверной разработке, часто называют разработчиками полного стека.Другими словами, у них есть полный набор навыков, которые можно применить к пользовательскому интерфейсу и всему, что заставляет его работать в фоновом режиме.

Некоторые люди считают, что разработчик полного стека не так хорош, как разработчик внешнего или внутреннего интерфейса. Часто ссылаются на поговорку: «Мастер на все руки, мастер на все руки». Но также стоит отметить, что полная фраза звучит так: «Мастер на все руки, ни в чем не мастер, хотя часто лучше, чем мастер в одном деле».

Как разработчик, владение как фронтендом, так и бэкендом означает больше возможностей.Вы сможете подавать заявки на другие рабочие места по контракту, неполный или полный рабочий день. Как фрилансер, вы сможете выполнять больше проектов, не ограничиваясь только интерфейсом или только серверной частью.

С точки зрения заказчика или работодателя вы сможете понять проект в целом. И как он должен работать для пользователя, и как он должен работать в фоновом режиме. Вы предоставите им одно контактное лицо для всех их потребностей. И вы сможете поддержать их, когда что-то пойдет не так с обеих сторон.Это делает вас еще более ценным в долгосрочной перспективе.

Спрос как на фронтенд-разработчиков, так и на backend-разработчиков постоянно растет. Поэтому выбор любого из них может помочь вам создать карьеру или бизнес, о котором вы всегда мечтали. Обязательно исследуйте оба мира разработки, чтобы определить, какой из них лучше всего подходит для вас!

Frontend vs Backend

# В двух словах

На самом деле это не просто веб-приложения — при создании любого приложения вы будете иметь дело с частью этого приложения frontend и частью backend .

Но что это за детали? А зачем они нам?

Вкратце, это очень просто: интерфейс — это то, что видит пользователь (например, код HTML + CSS + JS, работающий в браузере), бэкэнд отвечает за тяжелую работу за кулисами .

Конечно, интерфейс и серверная часть «разговаривают друг с другом» . Запросы Http отправляются из интерфейса в серверную часть для передачи данных, введенных пользователем, или получения данных из базы данных.Подробнее об этом через секунду!

Важно: серверная часть называется так, потому что работает не на устройстве пользователя (т.е. НЕ на мобильном телефоне или компьютере пользователя), а на каком-то удаленном сервере . Это означает: на сервере, принадлежащем вам, разработчику / поставщику веб-приложения.

Таким образом, мы могли также перевести интерфейс-бэкэнд на клиент-сервер .

TL; DR;

Фронтенд — это то, что видит пользователь, бэкэнд — это тяжелая работа и хранение данных на сервере.

Вы можете узнать все о бэкэнд-разработке в нашем курсе Node.js, фронтенд-разработка состоит из нескольких частей и языков программирования. Взгляните на наши CSS, JavaScript, а затем, в качестве следующего шага после курсов JavaScript, Angular, React и Vue.js!

Все эти курсы включены в наше членство Pro, начиная с всего за 19 долларов в месяц .

# Что где происходит? И почему?

У нас есть эти два конца, потому что ни один из них не может делать все самостоятельно.

Рассмотрим простой интернет-магазин, например Amazon.

Конечно, пользователь «что-то видит» — вы можете видеть каталог продуктов, вы можете добавлять товары в корзину и просматривать свою корзину, а также можете перейти на экран оформления заказа.

Но как насчет всех данных, с которыми вы взаимодействуете? А как насчет продуктов, которые вы просматриваете?

Эти данные хранятся в вашем браузере или на вашем компьютере?

Это не так!

Конечно, эти данные предоставляются Amazon, и они должны быть одинаковыми для всех пользователей.Кроме того, Amazon, конечно же, должна иметь возможность управлять этими данными и удалять или добавлять (или обновлять) продукты по мере необходимости.

Следовательно, эти данные, конечно, должны храниться на серверах Amazon — и это именно то, что в конечном итоге означает «бэкэнд». Речь идет об управлении данными (или логикой — мы еще вернемся к этому) централизованно и вне устройства пользователя.

С другой стороны, интерфейс — это подходящее место для всего, что напрямую связано с пользовательским интерфейсом.

В конце концов, пользовательский интерфейс визуализируется непосредственно на устройстве пользователя . Итак, независимо от того, говорим ли мы о веб-приложении или мобильном приложении, пользовательский интерфейс отображается на каком-то экране на каком-то устройстве, принадлежащем нашему пользователю.

И все, что происходит на этом экране, управляется нашим кодом внешнего интерфейса. Будь то открывающееся наложение, проверка ввода формы или счетчик загрузки — что бы ни увидел пользователь, интерфейс отвечает за его отображение и обновление .

Конечно, как упоминалось ранее, в связке с бэкэндом.

Фронтенд и бэкэнд взаимодействуют друг с другом — через HTTP-запросы.

Веб-интерфейс, например, отправит введенные данные на сервер. Затем серверная часть может снова проверить эти данные (поскольку код внешнего интерфейса можно обмануть) и, наконец, сохранить их в некоторой базе данных.

# Дело не только в хранении данных!

К настоящему времени вы могли подумать, что «бэкэнд» — это просто синоним «базы данных».

Это не так!

База данных будет частью бэкэнда, но, помимо этого, логика, которая работает на вашем внутреннем сервере, является еще одной важной частью «бэкэнда».

Потому что речь идет не только о хранении данных. Большинство веб-приложений также имеют код, который не может или не должен запускать на стороне клиента .

Вот несколько примеров бэкэнд-логики:

  • Длительные операции , которые замедляют UI
  • Взаимодействие с файловой системой — доступ к ней не предоставляется в браузере, например,
  • Сервер — проверка ввода на стороне — поскольку код на стороне клиента можно просматривать и редактировать
  • По той же причине: любой код, который взаимодействует с базой данных или использует учетные данные / ключи , которые не должны быть открыты посетителям веб-сайта (также см. статья и видео)

Интерфейс действительно должен содержать только код, связанный с обновлением пользовательского интерфейса.Он должен получать и отправлять данные, представлять данные пользователю и обеспечивать взаимодействие с пользователем.

Любая логика, связанная с очисткой данных, связью с базой данных, файловой системой или чем-либо подобным, должна обрабатываться на сервере .

# Чему следует учиться?

Frontend-разработка состоит из нескольких частей и языков программирования.

Для Интернета вы создаете веб-сайты, которые загружаются и отображаются в браузере с помощью:

Это основные языки, которые вам нужны.

Но вы редко создадите большие клиентские приложения, используя только эти основы.

На самом деле вы также собираетесь выбрать фреймворк внешнего интерфейса — популярные варианты:

Если вы создаете мобильное приложение , вы собираетесь использовать либо Java, либо Kotlin для Android, либо Swift или ObjectiveC для разработки под iOS.

OR просто исследуйте альтернативы, такие как Flutter, React Native или Ionic (с Angular, с React), для создания реальных мобильных приложений для обеих платформ с помощью всего одного языка программирования и одной базы кода!

Если вы собираетесь использовать для внутренней разработки , вам нужно выбрать язык программирования, который работает на сервере.

Популярные варианты:

# Существуют ли веб-приложения с одним концом?

В большинстве веб-сайтов и веб-приложений вы работаете с обоих концов. Кстати, то же самое и с мобильными приложениями.

Но теоретически вы можете создавать веб- или мобильные приложения, у которых есть только интерфейс. Или просто бэкэнд.

Часть , предназначенная только для внешнего интерфейса, должна быть относительно интуитивно понятной: у вас могут быть приложения, которым просто не нужно хранить или извлекать какие-либо данные или файлы.

Подумайте о страницах портфолио, на которых вы просто описываете свои услуги (например,грамм. вы работаете консультантом). Или блоги, где вы просто пишете все статьи, используя только HTML + CSS + JS. В этом случае вам не нужна база данных.

Также см. Эту статью и видео для получения дополнительных сведений о различных типах веб-приложений, которые вы можете создавать.

Что такое только для серверной части ?

На первый взгляд, в этом нет никакого смысла, правда? Веб-приложение без внешнего интерфейса никому не может быть использовано. В конце концов, пользователи ничего не видят.

Это правда, но не все приложения, которые вы создаете, предназначены для использования конечными пользователями.

Возможно, вы создаете простой (REST) ​​API , который может использоваться другими разработчиками / предприятиями.

Возьмем для примера API Google Places: он позволяет преобразовывать адреса в координаты и наоборот (и многое другое).

Этот API предназначен для обмена данными.

Конечно, вы можете создать такой API и самостоятельно. И тогда это будет пример веб-приложения, у которого есть только серверная часть.

# А как насчет полного стека?

Если вы занимаетесь веб-разработкой, возможно, вы слышали и о «полной» разработке.

Это просто означает, что вы (то есть разработчик) не сосредотачиваетесь только на одном конце. Вместо этого вы выучили языков программирования и фреймворков для обеих сторон , и, следовательно, вы можете создать полноценное веб-приложение самостоятельно.

Это, конечно, может быть большим преимуществом для фрилансера или небольшого стартапа / компании!

Разница между фронтенд-разработкой, бэкэнд-разработкой и полным стеком | by F5 Studio

Front-end и back-end разработка — ключевые компоненты, обеспечивающие оптимальную работу системы в приложениях и на веб-сайтах.Внешние операции связаны с системным интерфейсом, в то время как серверные части обычно находятся за кулисами, имея дело с серверами, базой данных и другими приложениями, которые доставляют информацию пользователю.

Поскольку серверная часть и клиентская часть — это разные аспекты разработки, они стали узкоспециализированными. У каждого есть очень специфические языки программирования и фреймворк, требующий целенаправленных технических знаний. Таким образом, это этиология узкоспециализированных разработчиков внешнего и внутреннего интерфейса, которые сосредотачиваются на определенных частях разработки интерфейса и серверной части соответственно.Есть еще один уникальный набор разработчиков; разработчики полного стека. Они хорошо подходят для обработки каждого аспекта как серверной, так и интерфейсной разработки.

Интерфейс веб-сайта или приложения — это часть, созданная для непосредственного взаимодействия с пользователями. В веб-разработке создание интерфейса включает CSS, HTML и JavaScript.

Каскадные таблицы стилей, или сокращенно CSS, контролируют внешний вид веб-сайта. Он устанавливает шрифты, цвета, фон и даже макет каждой страницы.CSS контролирует представление HTML. Например, его можно использовать для выравнивания различных элементов HTML способами, отличными от расположения в файле HTML.

Последняя версия CSS, CSS4, еще более увлекательна в работе, поскольку она имеет множество других полезных функций, таких как анимация и базовая интерактивность.

Язык разметки гипертекста, HTML, представляет собой основу, на которой построен веб-сайт. HTML создает содержимое и структуру веб-сайта. Самый последний HTML — это HTML5.

После создания веб-сайта с помощью HTML и CSS, разработчики интерфейса улучшают общую производительность с помощью JavaScript. С помощью JavaScript они могут добавлять сложные анимации и повышать интерактивность сайта. Кроме того, они могут создавать веб-приложения с помощью JavaScript. Большинство разработчиков скажут вам, что сегодня JavaScript кардинально изменил правила игры в веб-разработке. С такими фреймворками JavaScript, как AngularJs, Node.js и jQuery, интерфейсный разработчик может многое сделать для веб-сайта.

Большинство интерфейсных разработчиков при создании своих веб-сайтов полагаются исключительно на CSS, JavaScript и HTML. Тем не менее, существуют и другие формы кодов, которые можно использовать для кодирования веб-сайта. Такой код дополняет и улучшает интерфейс веб-сайта.

Back-end архитекторы проектируют и создают системы, уровни данных и другие службы, поддерживающие веб-сайт. Таким образом, серверные разработчики могут также работать с различными алгоритмами на веб-сайте, а также с интерфейсными разработчиками для создания решений, которые улучшают взаимодействие с пользователем и повышают его удовлетворенность.

Внутреннее программирование действительно является основным строительным блоком для основных систем управления контентом, таких как WordPress, а также для большинства сложных веб-приложений, используемых сегодня. На самом деле нет ничего плохого в том, чтобы думать, что именно с помощью внутреннего программирования вы находите решения и создаете все, что захотите.

Наборы данных и алгоритмы являются основой внутреннего кодирования. Таким образом, технологии баз данных, являющиеся вариантами SQL, совершенно необходимы при создании серверных моделей и запросов к базе данных.

Back-end разработчики используют в своей работе разные языки. Хотя JavaScript по-прежнему довольно популярен в серверной разработке, в последнее время он потерял популярность у большинства серверных программистов. Среди популярных языков — Python, Ruby / Rails и PHP.

Full-Stack Development включает как интерфейсное, так и внутреннее программирование. Внутренний разработчик хорошо разбирается в HTML, JavaScript и CSS для интерфейсной разработки. Они также могут работать с одним или несколькими внутренними языками программирования.Таким образом, разработка full-stack представляет собой полный пакет веб-разработки.

Веб-разработка очень динамична. То, что мы сегодня называем front-end или back-end разработкой, может радикально измениться через несколько лет. Поэтому, если вы думаете о присоединении к сообществу веб-разработчиков, лучше сделайте себя как можно более разносторонним и дальновидным.

Разница между Frontend и Backend Web Development

Всего за несколько дней до открытия курса 2021 JavaScript Full-Stack Bootcamp .
Записаться в лист ожидания!


В этом посте я хочу помочь вам концептуально перейти от внешнего интерфейса к внутреннему в контексте веб-разработки.

Давайте сначала определим, что такое интерфейс. Frontend — это термин, который мы используем для обозначения программирования внутри браузера. Мы также называем это веб-разработкой на стороне клиента.

На стороне внешнего интерфейса вы беспокоитесь о создании и распространении приложения, которое запускается на вашем клиентском компьютере, который может быть ноутбуком, настольным компьютером или мобильным устройством.Вы создаете что-то, что распространяете, а затем запускаете в каждом клиентском браузере.

На стороне бэкенда вы проектируете и создаете приложение, которое работает на одном сервере (в начале), и каждый клиент обращается к этому приложению. Приложение запускается на сервере, в среде, которую вы контролируете, а затем вы либо отправляете в браузер приложение, используя рендеринг приложения на стороне сервера, либо создаете API, который просто распределяет данные JSON клиентам (что-то довольно распространенное в последнее время, особенно в сочетании с интерфейсными фреймворками / библиотеками, такими как React, Vue и другими).

Вы уже можете видеть здесь перекрытие. Бэкэнд может использоваться для обслуживания внешнего приложения, которое будет работать в браузере.

HTML, CSS, JavaScript, изображения, анимация, React, Vue, Svelte, CSS-in-JS, управление состоянием во внешнем интерфейсе, оптимизация производительности, все эти темы (и многие другие!) Связаны с интерфейсным программированием.

Некоторым приложениям нужна только внешняя часть. У моего веб-сайта, например, нет серверной части. Это статический веб-сайт, созданный с помощью Hugo, и вся работа, которую я над ним делаю, считается внешним программированием: например, CSS, разметка, JavaScript, который я использую для поиска.

У программирования

Frontend есть свой уникальный набор проблем: например, поддержка функций браузером. Или производительность приложения на недорогом устройстве. Создание одностраничных приложений.

Backend разработка полностью отличается от frontend. Во-первых, вы выходите из среды браузера, которая с одной стороны освобождает, но может и подавлять.

Почему? Что ж, у вас есть выбор.

В браузере языком программирования всегда является JavaScript.Или язык, который компилируется в JavaScript, например TypeScript, Elm и другие.

В бэкенде можно использовать все, что угодно. Я обычно выбираю Node.js, потому что, основанный на JavaScript, я могу быть экспертом в одном языке и работать как во фронтенде, так и в бэкэнде с JavaScript.

Но вы можете использовать такие фреймворки, как:

  • Django, основанный на Python
  • Laravel, основанный на PHP
  • Rails, основанный на Ruby
  • Phoenix, основанный на Elixir
  • Deno, основанный на TypeScript

и многие другие, включая более ориентированные на предприятия экосистемы, такие как Java и.СЕТЬ.

И я даже не говорю о Go и Rust, двух отличных вариантах.

Это, вероятно, самая сильная сторона бэкэнд-программирования: у вас есть много вариантов языка, который вы можете использовать, так что вы можете использовать тот, который вам больше нравится. Но это также может привести к «аналитическому параличу», если вы еще не уверены, что предпочитаете.

На бэкэнде у нас нет проблем, с которыми мы должны столкнуться во фронтенде. Я часто слышу, что разработка интерфейса идет слишком быстро. Новые вещи появляются каждый день, а лучшие инструменты меняются из месяца в месяц.Это не ложное заявление. Бэкэнд по сравнению с ним выглядит скорее медленно развивающейся экосистемой, особенно в хорошо известных и зрелых средах и инструментах, а хорошо написанный бэкэнд может долгие годы казаться современным, в то время как мы не можем сказать то же самое о фронтенде.

В бэкенде у нас, конечно же, есть свой набор проблем. Например, как хранить данные в базе данных. Как правильно выбрать базу данных. SQL против NoSQL. Микросервисы против монолитов. Как развернуть наше приложение и где. Как справиться с большим объемом трафика.Как безопасно работать с данными и запросами. Как тестировать и обрабатывать ошибки. Как правильно выбрать архитектуру.

Затем у нас есть темы, которые пересекаются с DevOps, например, как использовать Docker и Kubernetes, как настроить рабочий процесс непрерывной интеграции и непрерывной доставки, как работать с Linux, инфраструктурой и сетями на уровне сервера. Нам нужно сделать выбор, например, использовать наши собственные серверы VPS или использовать PAAS, например Heroku, или отказаться от сервера с AWS Lambda. В зависимости от компании и команды, в которой вы работаете, вам может потребоваться также быть готовым заняться этими темами.

И нам, конечно же, нужно придумать, как подключить серверную часть к веб-интерфейсу. Как создать API. GraphQL против REST. Как обрабатывать аутентификацию. Как сделать API быстрым в масштабе. Это темы, которые вовлекают как интерфейс, так и серверную часть в стремлении заставить их разговаривать друг с другом.

Это очень много, и вы можете найти целые книги по этим темам, и именно поэтому у нас есть разделение на фронтенд-разработчиков и бэкэнд-разработчиков, и почему быть разработчиком полного стека, который может ориентироваться во всех этих проблемах, является ценным навыком для имеют.

И, конечно же, вам не нужно знать все эти вещи, чтобы получить квалификацию внешнего или внутреннего разработчика. Вам нужно знать эти вещи на высоком уровне, чтобы получить представление о том, чего вы не знаете (пока). Но также отличная идея — специализироваться в одной конкретной нише и стать в ней преуспевающим человеком.

Например, вы можете быть внутренним разработчиком, который не знает, как работать с расширенной конфигурацией Linux, и полагаться на PAAS, как Heroku, чтобы сделать это за вас. Или используйте AWS Lambda, чтобы этого вообще избежать.

Я думаю, что важно знать, когда лучше учиться и делать это самому, а не использовать инструменты, поддерживающие вашу работу.



Учебный курс 2021 JavaScript Full-Stack Bootcamp начнется в конце марта 2021 года. Не упустите эту возможность, подпишитесь на лист ожидания!


Что я узнал, перейдя с бэкэнда на фронтенд-разработку | Автор: Sonny Recio

Переход от Back-End к Front-End разработке не так-то просто.Я привык к структуре серверной части, в которой вы обычно создаете структуры данных, пишете тесты, такие как Test-Driven Development, с использованием уровней сохраняемости и репозитория, таблиц базы данных и создания конечных точек API для использования Front-End.

Список бесконечен, и Back-End имеет свою долю сложности, поэтому тогда я сказал, что у меня нет времени изучать внутреннюю работу Front-End разработки.

Во всяком случае, я был привязан в основном к back-end, пока я не был вынужден перейти и склоняться к Front-End, чтобы я мог кодировать лучший продукт с отличным пользовательским интерфейсом, не слишком полагаясь на Front-End фреймворки и черные ящики некоторые рамки позволяют мне делать тяжелую работу и создавать отличные приложения.

На сегодняшний день это мой опыт, когда я переходил от Back-End к Front-End разработчика:

В back-end вы больше всего беспокоитесь о структурах данных, структуре и производительности базы данных, архитектуре кода, сервисах и построении. надежные API-интерфейсы, которые разработчики могут понять для использования их во Front-End.

Во Front-End все совсем иначе. Вам нужно позаботиться о пользовательском интерфейсе и о том, как ваши пользователи взаимодействуют с вашим приложением, а затем количественно измерить пользовательский интерфейс.Бывают случаи, когда вам нужно самостоятельно разработать пользовательский интерфейс и улучшить работу приложения, которое вы создаете.

Что мне нравится в Front-End разработке, так это то, что вы напрямую занимаетесь потребностями клиентов и заботитесь о пользовательском опыте, с которым они сталкиваются. Поэтому я бы сказал, что подход во Front-End совершенно другой, потому что он ориентирован на клиента, и все дело в том, как вы можете сделать так, чтобы клиенту было комфортно использовать приложение, над которым вы работаете, чем, скажем, к работе со структурами данных.

Когда я начинал несколько личных проектов, чтобы улучшить свои навыки работы с фронтендом, очевидно, что это улучшило мое мышление, когда дело доходит до того, как работает пользовательский интерфейс, когда пользователь нажимает некоторые кнопки и взаимодействует с некоторыми компонентами интерфейса.

Вернувшись в свои дни Back-End, я не мог представить, как пользователь будет взаимодействовать и улучшать пользовательский поток, поскольку меня в основном интересовали только операции CRUD, а также то, как приложение сохранит данные в базе данных, включая наиболее важные и конфиденциальная информация, такая как формула, информация о кредитной карте и т. д. Так что вы можете сказать, что я действительно отстой, когда дело доходит до части пользовательского интерфейса.

Когда я перешел на Front-End, все было по-другому. Теперь я думал о том, как пользователь взаимодействует и использует наше приложение в первую очередь, понравится им это или нет.Затем я бы спроектировал соответствующую внутреннюю структуру и базу данных на основе представленного пользовательского интерфейса или макетов.

С момента появления интерфейсных фреймворков, таких как React, мы теперь думаем и упорядочиваем наш пользовательский интерфейс в терминах «компонентов», которые можно повторно использовать на разных страницах, и это хорошо. Прошли те времена, когда изобретали колесо, чтобы самостоятельно повторно использовать компоненты пользовательского интерфейса. Сейчас это стандартизируется.

С учетом сказанного, переход на Front-End заставил меня задуматься о повторном использовании пользовательского интерфейса и улучшил мое принятие решений при выборе правильного Front-End фреймворка, который соответствует моим потребностям и масштабам проекта, будь то React, Vue или Angular.

Чтобы поделиться своими компонентами пользовательского интерфейса между разными проектами и командами, я советую вам взглянуть на то, что инструменты Bit могут вам предложить.

Пример: компоненты пользовательского интерфейса, изолированные с использованием Bit и совместно используемые на bit.dev

Обучение рисованию макетов для ваших идей может не иметь отношения к навыкам Front-End, но определенно улучшает мои визуальные эффекты и возможности имитируют мой собственный дизайн, чтобы кодировать его во Front-End.

Мокапы — это навык, отличный от Front-End, но поскольку я был взволнован кодированием Front-End из макетов и дизайнов других, это заставило меня сделать свой собственный макет и кодировать его с использованием технологий Front-End, которые я научился.

Вам нужно заботиться не только о пользовательском интерфейсе, но и о производительности клиента или браузера. Это важно, потому что пользователи будут время от времени взаимодействовать в своих браузерах, а ваш интерфейсный код — это то, с чем пользователи взаимодействуют.

Это заставило меня подумать, что мне нужно повысить производительность браузера, независимо от того, использует ли он стратегии кеширования, такие как localStorage, оптимизирует сжатие JavaScript, объединяет и транспилирует с помощью веб-пакета, или использовать ли динамический импорт в сценариях.

Я понял, что оптимизация идет не только из Back-End, но и из Front-End, чтобы пользователям было удобнее пользоваться веб-приложением.

Одна из головных болей и, возможно, проблема Front-End разработки — создание адаптивных веб-страниц. Вы должны убедиться, что ваш пользовательский интерфейс достаточно отзывчив на различных устройствах, независимо от того, используют ли они настольные компьютеры, планшеты или смартфоны.

Поначалу это было моей головной болью и проблемой, когда я еще только начинал изучать основы Front-End разработки, пока не овладел ею.Для справки: на первый взгляд кажется, что создавать адаптивные страницы было легко, но я не осознавал, что все время ошибался.

Конечно, если вы собираетесь полагаться на интерфейсные фреймворки, эта головная боль устраняется, но мы не хотим слишком полагаться на фреймворки и делать грязную работу сами, чтобы узнать, как на самом деле работает Front-End разработка. землю вверх.

SEO — это движущая сила рейтинга страниц вашего приложения, поэтому очень важно, чтобы вы его изучили.

SEO широко используется во Front-End приложении, которое вы создаете, и вы помогаете своим клиентам или вашему приложению подняться на более высокий рейтинг, чтобы потенциальные пользователи могли его увидеть и сразу же использовать.

Изучая Front-End, я смог определить, что SEO — тоже важный навык, который может даже увеличить продажи для ваших клиентов или самого приложения.

CSS — это основная часть Front-End разработки. Вы не выживете без использования своих навыков CSS и не знаете, как выровнять компоненты пользовательского интерфейса с помощью CSS.

Сначала для меня это было очень сложно. Я не разбираюсь в дизайне и не знаю, как правильно настроить компонент пользовательского интерфейса по своему вкусу. Но по мере того, как я изучаю и изучаю Front-End разработку и хорошо разбираюсь в CSS, это стало для меня второй натурой, и я больше не борюсь.

Итак, перейдя на Front-End разработку, я научился хорошо разбираться в CSS.

Я должен признать, что как человек вроде меня, который привык выполнять внутреннюю работу, я полагаюсь в основном на интерфейсные фреймворки только для того, чтобы выполнять свои задачи и отправлять продукты, чтобы они работали на других.

Когда я тогда работал в стартапе и в то время обладал только навыками Back-End, я постоянно полагался на библиотеки и фреймворки Front-End UI для создания выпадающих списков и боковых панелей, но все стало очень легко усложняться и не поддаваться обслуживанию для Front-End кода, потому что каждый бит кодовой базы зависит от Front-End библиотек.

Переход, чтобы стать штатным Front-End разработчиком, дал мне свободу, потому что вы не были привязаны к использованию фреймворков только для того, чтобы сделать ваши Front-End UI красивыми и обеспечить плавное взаимодействие.Во всяком случае, вы вольны делать то, как ваш Front-End будет выравниваться и анимироваться, без особой зависимости от фреймворков.

Это забавно, потому что, когда я переходил с Back-End на Front-End, я хотел научиться проектировать самостоятельно. Например, проектировать все с нуля и кодировать, используя свои навыки работы с фронтендом, которые я использовал за последние годы. Тогда у меня есть идея научиться делать Adobe Photoshop, что, конечно же, займет пару месяцев, чтобы использовать в нем свои навыки.

Но определенно, работа с Front-End сделала меня более творческим и вдохновила меня узнать о дизайне!

Внешняя и внутренняя веб-разработка

Существуют определенные инструменты и обучение, такие как Slack, редактор кода, JavaScript и т. Д.- это должны знать все веб-разработчики. Но по мере того, как Интернет продолжает расширяться и развиваться, разработчики начинают специализироваться или сосредотачивать свою карьеру на определенных аспектах веб-разработки. Например, рассмотрим интерфейсную и внутреннюю веб-разработку. Хотя для работы в технологической индустрии необходимы и востребованы как фронтенд-разработчики, так и бэкэнд-разработчики, у них обоих разные роли в компании.

Давайте поговорим о том, как работает веб-сайт, прежде чем переходить к мельчайшим деталям веб-разработки и веб-разработки.

Вспомните свои впечатления от посещения ресторана. Вы сидите в обеденной зоне и общаетесь с обслуживающим персоналом или официантами. Ресторан может иметь красивое оформление и в целом отличную атмосферу. Вы можете заказать что-нибудь через официантов, с которыми они идут на кухню и заказывают ваш запрос. Пока вы ждете свою еду, вы не видите, как повара ее готовят, но вы знаете, что ваш заказ обрабатывается. Когда ваша еда горячая и готова, официант приносит ее с кухни к вашему столу.

Ваш опыт работы с веб-сайтом во многом похож на ваш опыт работы в ресторане. Внешний вид аналогии — это все, что вы видите или с чем взаимодействуете в ресторане. Находясь там, вы видите хорошо оформленную обеденную зону и взаимодействуете с официантами. Задняя часть этой аналогии — закулисный аспект ресторана или кухни. Хотя вы не видите кухню, вы знаете, что ваш заказ еды там выполняется.

Когда вы посещаете веб-сайт, на странице есть определенные элементы, которые вы можете видеть и с которыми вы можете взаимодействовать: изображения, текст, видео, цвета, шрифты, раскрывающиеся меню, ползунки, формы и т. Д.Все это составляет интерфейсную часть веб-сайта. Внутренняя часть — это все, что не может видеть или с чем взаимодействовать, например, серверы, базы данных, операционные системы и API.

Продолжайте думать об аналогии с рестораном. Вы отдаете заказ на еду официантам, они несут ее обратно на кухню, размещают ваш заказ, повара готовят еду, а официант приносит вам готовый заказ. Ваше взаимодействие и опыт на веб-сайте не сильно отличаются от того, что вы делаете в ресторане.Когда вы запрашиваете что-то во внешнем интерфейсе (он же официант), этот запрос отправляется в серверную часть (он же кухня). Серверная часть выполняет ваш запрос (он же заказ еды) и отправляет данные обратно во внешний интерфейс (он же официант). В результате у вас есть желаемое действие. Это красивая вещь.

Как интерфейсная, так и внутренняя разработка требуют разных навыков и специализации или языков программирования. Несмотря на то, что существуют сотни языков программирования для веб-разработки, существуют определенные языки для веб-разработки веб-интерфейса и серверной части, которые более популярны и важны, чем другие.

Необходимо знать фронтенд-разработчикам:
  • HTML5
  • CSS
  • JavaScript
  • Ajax

Back-end разработчики должны знать:
  • JavaScript
  • SQL
  • Ява
  • C #
  • Питон
  • PHP

Front-end и back-end разработчики имеют разные обязанности в организации. Из-за этого эти должности требуют разных навыков, обязанностей и заработной платы.Вот краткое изложение позиций внешнего разработчика и внутреннего разработчика:

Интерфейсный веб-разработчик

Описание : интерфейсный веб-разработчик (иногда называемый веб-дизайнером) ориентирован на архитектуру веб-приложений, ориентированных на клиента.
Обязанности:
  • Разработка новых пользовательских функций в веб-браузерах
  • Разработка и реализация интерфейса для веб-сайтов сложных веб-приложений с использованием современных JS- и CSS-фреймворков Создание повторно используемого кода и библиотек для будущего использования
  • Оптимизация клиентских приложений для максимальной скорости и масштабируемости
  • Код для современных передовых практик REST или GraphQL
Заработная плата:
Навыки:
  • Владеет HTML, CSS и JavaScript
  • Понимает клиентские сценарии и JavaScript-фреймворки, такие как jQuery
  • .
  • Понимает принципы веб-дизайна
  • Имеет базовые знания о графическом редакторе, таком как Photoshop
  • .

Серверный веб-разработчик

Описание: back-end разработчик ориентирован на серверную архитектуру веб-приложений.
Обязанности:
  • Разработка и реализация серверной веб-архитектуры, такой как серверы, базы данных, операционные системы и API
  • Интеграция элементов, обращенных к пользователю, с логикой на стороне сервера
  • Создание повторно используемого кода и библиотек для будущего использования
  • Оптимизация серверных приложений для максимальной скорости и масштабируемости
  • Внедрить решения для защиты данных
Заработная плата:
Навыки
  • Владеет такими языками, как JavaScript (NodeJS), Ruby, Java, SQL и C #
  • Имеет практические знания PHP, Ruby, Python и.Нетто
  • Имеет практические знания в области препроцессоров CSS на стороне сервера, таких как LESS и SASS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *