Windows 10

Чем back end отличается от front end. Простыми словами о «фронтенде» и «бэкенде»: что это такое и как они взаимодействуют

Чем back end отличается от front end. Простыми словами о «фронтенде» и «бэкенде»: что это такое и как они взаимодействуют

Сегодня я хотел бы рассказать, что такое “фронтенд" и "бэкэнд” в маркетинге и продажах.

Правильно писать «front-end», «back-end», но мы, русскоговорящие люди, уже привыкли писать по-русски: фронт-энд, или фронтенд, и бэкэнд, или бэкенд.

Так что такое front-end и back-end?

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

Итак, фронтенд — это такой продукт, которому присущи следующие качества:

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

С этим пунктом немного сложнее, сейчас объясню.

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

Почему?

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

Да, чуть не забыл.

Основной товар называется «бэкенд», back-end . Понятие фронтенд имеет смысл рассматривать только в сочетании с понятием бэкенд.

В идеале всё происходит следующим образом: люди покупают фронтенд и оказываются втянуты в своеобразный конвейер продаж. А там – как говорит Андрей Парабеллум – «бэкенд бэкендом погоняет». СтОит коготку у птички увязнуть…

Понятно, каков алгоритм работы успешного бизнеса?

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

Стал уже классикой пример с McDonald’s.

McDonald’s продает гамбургеры по себестоимости, а покупатели приобретают массу других лакомств по цене с хорошей наценкой. Тот же чай – ему красная цена несколько копеек, а сколько он стоит в McDonald’s?

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

Таких примеров можно привезти массу.

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

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

Пару слов о том, что такое лид-магнит.

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

Чтобы долго не объяснять, посмотрите ниже и вправо.

Справа — моя мини-книга «5 убийц вашего бизнеса», которую Вы можете скачать бесплатно. Это лид-магнит, рассчитанный на предпринимателей. Если вы таковым являетесь — вводите свои контактные данные и переходите на новую ступень осознания ситуации в вашем бизнесе.

Ниже — предложение скачать чек-лист оценки бизнеса.

Кстати, а какие лид-магниты встроены в вашем бизнесе?

______________________________________________

Некоторое время назад в нашем городе прошла «Кузбасская ярмарка» — крупнейший предпринимательский форум Кемеровской области.

Помимо участия в работе выставки (у нас там был стенд), мы, силами студентов провели анкетирование руководителей компаний-участников. Цель — понять, насколько конкурентоспособны бизнесы в нашем регионе.

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

Результаты обескуражили.

Из 87 компаний лишь 3 (а это 3,4%) ответили положительно на все вопросы.

96,6% — недотягивают либо в выполнении современных требований, либо собственники вообще не понимают, о чём их спрашивают.

Получается, минимум 84 компании в Кемеровской области работают, проваливаясь по ряду видимых, измеримых параметров!

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

А ведь вопросы-то о том , как должен работать среднестатистический бизнес в 21 веке.

Обычный, а не инопланетный.

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

А почему бы и нет? Вопросов всего 9. Ответить на них не займёт много времени.

Ну что, проверите себя?

Ниже я расскажу, чем отличается этот тест от тысяч других.

Чем необычен этот тест?

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

Не хотите — можете просто поотвечать на вопросы.

Что получат те , кто вышлет мне заполненную анкету?

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

По скайпу или лично.

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

Frontend и backend: об иерархии разработки веб-приложения, точках соприкосновения, сходствах и различиях двух столпов веба, а также сферах их ответственности.

Давно остались в прошлом времена, когда мир веба был прост и понятен, а сайты были наборами статических страниц с табличной разметкой. Веб-разработка прошла быстрый, яркий и насыщенный путь развития. Появились новые языки, техники, технологии и парадигмы. Сегодня это одно из самых перспективных и высокооплачиваемых IT-направлений.

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

Фронтенд

Пользователь вводит адрес в строке поиска, переходит по ссылке с внешнего ресурса или из поисковой системы. Он видит много рекламы. Взору его предстает навязчивое требование регистрации. Ему представлена неудобная навигация и трудночитаемый контент. Страница долго загружается, или не адаптирована для мобильных устройств, или имеет устаревший дизайн. Что делает пользователь? Правильно, покидает сайт.

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

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

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

Библиотека jQuery позволяет легко реализовывать эффективное взаимодействие JavaScript и HTML. Язык TypeScript, компилируемый в js-код, дает возможность использования классов, модулей, шаблонов, являясь, таким образом, полноценным объектно-ориентированным языком. Программная платформа Node.js превращает JavaScript из узкоспециализированного языка в язык общего назначения, «выпуская» его из браузерной песочницы. На клиентской стороне реализуется отправка запросов и обработка ответов сервера , парсинг данных , динамическое изменение отображаемого контента.

Бэкенд

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

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

Несмотря на то, что сфера фронтенда традиционно считается самой богатой и разнообразной в плане технологий, бэкенд также имеет широкий спектр инструментов разработки. Помимо каноничного PHP, несправедливо многими поругаемого, прочные ниши заняли Python с фреймворком Django, Java и Node.js, Ruby, а также набирающий популярность Go.

Заключение

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

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

Фронтенд и бэкенд - вовсе не взаимоисключающие параграфы. Для тех, кто одинаково свободно чувствует себя на обоих поприщах, существует такое понятие, как full stack. “Фулл стэк” -разработчик занимается и клиентской, и серверной частями приложения. Освоение такой профессии - непростое дело. На этому тернистом пути путеводной звездой может послужить онлайн-программа . В ней в оптимальной пропорции совмещаются теория и практика. В процессе обучения вы освоите два языка программирования, пополните свое портфолио пятью проектами, прокачаете коммуникационные навыки и работу с системой контроля версий git.

И напоследок приятный бонус для наших читателей - промокод proglib со скидкой 7000Р.

Старт программы — 21.07.

| Сопровождение

Модели / методы Agile | Cleanroom | Итеративная | Scrum | RUP | MSF | Спиральная | Водопад | Сопутствующие дисциплины Конфигурационное управление | Документирование | Управление проектами

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

Информатика

Многие общепринятые способы взаимодействия с компьютерами могут быть рассматриваться с точки зрения концепции, основанной на «front-end» и «back-end». Например, графический файловый менеджер , такой как Windows Explorer , может быть рассматриваться как front-end к файловой системе компьютера. Для операционной системы командный интерпретатор может рассматриваться как front-end к системе (для обыкновенных пользователей).

Бизнес

  • В производстве телепередач «front-end» обозначает «пробный» или неполный комплект выпусков телепередачи или серий сериала, не достаточный для транслирования на протяжении всего сезона. Телекомпания может купить только часть эпизодов сериала для нового сезона, если он был недостаточно популярен на протяжении последнего сезона. Если же рейтинги телепередачи удовлетворительны, могут быть выкуплены оставшиеся эпизоды (их комплект и называется «back-end»).
  • В производстве телепередач и кинофильмов «back-end» может обозначать соглашение об оплате производства, при котором прокатчик или продюсер оплачивает производство (как минимум, частично) только после получения прибыли (в противоположность предоплате). Это происходит обычно, когда основная часть производства завершена.

Примечания

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое "Фронтенд" в других словарях:

    LLVM Тип Компилятор Разработчик LLVM Developer Group Н … Википедия

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

    GNUnet … Википедия

    TortoiseHg … Википедия

    Git … Википедия

    У этого термина существуют и другие значения, см. YUI. Yahoo! UI Library Тип JavaScript библиотека Разработчик Yahoo! Написана на JavaScript … Википедия

    Тип Анонимная сеть ремейлер … Википедия

    Первый выпуск середина 1980 х Последняя версия 3.02 / 28 октября 2012 Написана на C++ Операционная система Linux, Mac OS X и др. UNIX подобные, Windows Тип … Википедия

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

Современный front-end developer должен легко владеть html5 , css3 , JavaScript (и как минимум JQuery). У каждого front-end специалиста есть свои наработки, которые он хранит в виде framework. Многие разработчики в работе пользуются популярными framework-ами, такими как: Twitter, Bootstrap, Foundation 3, Compass.

Что необходимо знать frond-end разработчику:

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

Вот основные базовые навыки:

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

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

  • Модульный принцип организации, управление зависимостями и тестовые сборки
  • RequireJS инструменты делают возможной разработку с использованием небольших модульных файлов JS и CSS , а затем конкатенируют и минифицируют их с помощью своего инструмента оптимизации для дальнейшего использования.

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

    Если же код пишется на чистом CSS — то есть не используется препроцессор вроде Sass или Stylus — RequireJS также поможет организовать необходимые CSS файлы по модульному принципу. Просто необходимо использовать @import в основном файле, чтобы загрузить зависимости для разработки и затем запустить средство оптимизации RequireJS для основного файла чтобы создать готовый для использования файл.

  • Инструменты разработчика, встроенные в браузер
  • За последние несколько лет инструменты для разработчиков, встроенные в браузеры, ощутимо усовершенствовались. Если научиться ими правильно пользоваться, то они могут существенно улучшить опыт разработки. Стоит выбрать один браузер, чьи инструменты разработчика будут использоваться на постоянной основе, но не надо отказываться полностью от инструментов в других браузерах, так как в них время от времени на основе откликов разработчиков добавляются новые полезные возможности. В Dragonfly от Opera, в частности, были добавлены некоторые возможности, выделяющие её инструменты разработчика на фоне других, например: (экспериментальный) CSS- профилировщик, настраиваемые горячие клавиши, удалённая отладка без необходимости USB-подключения, а также возможность сохранять и использовать пользовательские цветовые палитры.

  • Командная строка
  • Есть несколько задач, которые необходимо выполнять через командную строку не задумываясь:

  1. ssh для подключения к другой машине или серверу
  2. scp для копирования файлов на другую машину или сервер
  3. ack или grep для поиска файлов в проекте по строке или шаблону
  4. find для обнаружения файлов, чьи названия совпадают с данным шаблоном
  5. git для выполнения хотя бы базовых действий вроде add, commit, status и pull
  6. brew для использования Homebrew для установки пакетов
  7. npm для установки пакетов Node
  8. gem для установки пакетов Ruby
  • Тестирование
  • Написания модульного, свободно сопряжённого кода состоит в том, что такой код намного легче тестировать, а с инструментами вроде Grunt , подготовка проекта со встроенными тестами вообще стала проще простого. В Grunt интегрирован QUnit, однако существует много фреймворков для тестирования, из которых можно выбрать те, что по душе.

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

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

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

    Фронтненд - браузер, бекенд - сервер

    Говоря я фронтенде и бекенде, программисты обычно подразумевают разделение интерфейсной части пользователя от программной логики. В этом случае front-end - это интерфейсная часть, которая выполняется, например, в браузере, а back-end - это серверная часть.

    В Web-разработке, например, в качестве фронтенда выступают HTML-вёрстка, стили CSS и JavaScript, а в качестве бекенда - серверная часть, которую обычно программируют на PHP или ASP.net. Грубо говоря, всё то, что исполняется на стороне клиента - front-end , а то, что на стороне сервера – back-end . Кстати, поскольку пользователи не видят бекенд, то программисты могут поменять его «втихую». Twitter, например, в качестве бекенда некоторое время использовал Ruby on Rails, но в 2011 году перешел на Java. Готов поспорить, большинство даже и не заметило этого!

    Фронтненд - статика, бекенд - программный код

    В среде разработчиков высоконагруженных систем (highload-разработчиков) термином front-end называют ту программную часть, которая непосредственно «отдаёт» контент. Например, на больших проектах часто программную серверную часть представляют 2 веб-сервера - Apache и nginx. Nginx принимает запросы и, в случае статического файла, (изображение, файл css, js или xml) сразу же отдаёт его содержимое, а в случае PHP-скрипта, отправляет его к серверу Apache, который уже умеет обрабатывать PHP. Тут nginx - это фронтенд , а Apache - бекенд . Конечно, высоконагруженные системы имеют сложную инфраструктуру, и порой представляют собой много серверов, разнесённых по разным континентам, но общую суть вы уловили.

    Фронтненд - открытые данные, бекенд - админка

    Также, когда говорят об CMS, административную часть называют back-end , а «лицевую» часть сайта - front-end . С такой трактовкой термина я сталкивался реже всего, однако многие его применяют повсеместно.

    Так что же такое фронтенд и бекенд?

    Если вы не лишены логического мышления, то поймёте в чём нюанс: в одной сфере один и тот же термин имеет 3 (!) различных значения:

    • Браузерная / серверная часть (самый популярный вариант);
    • Серверная часть, отдающая статику / серверная часть, выполняющая код (highload);
    • Часть сайта для пользователей / часть сайта для администраторов и модераторов.