Руководства Web-разработчика | MDN
Эти статьи помогут изучить веб-технологии и интерфейсы API.
- Изучение HTML: руководства и уроки
Язык гипертекстовой разметки HTML (HyperText Markup Language) — это основной язык практически для всего веб-контента. Многое из того, что вы видите в окне браузера, описано с помощью HTML.
- Изучение CSS
Каскадные таблицы стилей CSS (Cascading Style Sheets) — язык стилей, используемый для описания внешнего вида документа HTML.
- Доставка аудио и видео контента
Мы можем доставлять аудио и видео контент различными способами. Это могут быть как статичные медиа файлы, так и потоковые данные. Эта статья является отправной точкой в изучении различных механизмов доставки медиа ресурсов и совместимости работы с популярными браузерами.
- Обработка аудио и видео
Веб-технологии примечательны тем, что они позволяют использовать различные инструменты в совокупности.
<canvas>
, WebGL или Web Audio API: напрямую изменять аудио и видео, т.е. добавлять эффекты к аудио (реверберацию, компрессор), или к видео (фильтры ч/б, сепия и т.д.). В этой статье рассказывается о том, как это сделать.- Руководство разработчика событий (en-US)
События связаны с:
- Шаблонами проектирования, используемыми для асинхронной обработки инцидентов, возникающих в жизненном цикле веб страницы
- Именованием, характеризацией и использованием большого количества инцидентов различного типа
- AJAX
Это не технология сама по себе, а термин, который описывает «новый» подход к использованию существующих технологий вместе. AJAX включает: HTML или XHTML, CSS, JavaScript, DOM, XML, XSLT, и объект XMLHttpRequest. Когда эти технологии объединяются в модель AJAX, web-приложения способны делать быстрые дополняющие обновления интерфейса пользователя без необходимости полной перезагрузки страницы браузером. Приложения работают быстрее и становятся более отзывчивыми к действиям пользователей.
- Графика для Web
Современным веб-сайтам и веб-приложениям часто требуется отображать графику.
- Уроки по Web API
Список всех веб-API и как они работают.
- JavaScript
Мощный скриптовый язык для создания приложений в Web.
- Локализация и кодировка символов
По умолчанию браузер обрабатывает текст в кодировке Юникод (Unicode). При этом, при передаче информации через сеть (network) к браузеру символы кодируются байтами. Стандартом HTML рекомендуется использовать кодировку UTF-8 (так как она может представить любой Unicode символ) и обязательно объявлять, какая кодировка используется в документе.
На этой странице даётся обзор основных методов разработки веб-сайтов, корректно работающих на мобильных устройствах. Смотрите также: Firefox для Android.
- Прогрессивные веб-приложения
Прогрессивные веб-приложения используют современные веб-API вкупе со стратегией прогрессивного улучшения для создания кросс-платформенных приложений. Такие приложения запускаются везде и обладают рядом характеристик, обеспечивающих пользователей преимуществами, аналогичными тем, что доступны в нативных решениях.
- Оптимизация и производительность
Создаваемые вами современные веб-приложения и сайты должны иметь хорошую производительность — работать быстро и эффективно, как на персональных компьютерах (десктоп), так и на менее мощных мобильных устройствах.
- Прямая и обратная обработка XML
Различные методы обработки XML с помощью web платформы.
- The Web Open Font Format (WOFF)
WOFF — бесплатный файловый формат шрифтов.
- Алгоритм обработки текста двусторонней направленности (Unicode Bidirectional Text Algorithm)
Алгоритм является частью стандарта Юникод.
- Использование объектов FormData
Объект
FormData
позволяет создать набор пар ключ/значение и передать их, используяXMLHttpRequest.
ОбъектFormData
предназначен для передачи данных форм, однако может быть использован для передачи пар ключ/значение независимо от форм. Данные передаются в том же формате, как и данные, передаваемые методом
формы, с установленной кодировкойsubmit()
enctype="multipart/form-data"
.- Пользовательский ввод и управление
Это руководство содержит рекомендации по обработке пользовательского ввода и внедрению управляющих элементов в веб-приложения. Также здесь вы найдёте соответствующие FAQs, живые примеры, ссылки на более подробные разборы близлежащих технологий.
- Глоссарий (глоссарий терминов)
Определения и аббревиатуры в мире Web и Internet.
- Справочник по веб-технологиям (en-US)
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on by MDN contributors.
Web Performance | MDN
Производительность в web — это объективные измерения и пользовательские ощущения, связанные с загрузкой и работой приложения. Производительность — это о том, как долго сайт грузится, становится интерактивным и отзывчивым, о том, как плавно происходит взаимодействие с контентом. Плавный ли скролл страницы? Все ли кнопки кликабельны? Всплывающие окна загружаются и показываются быстро? А анимируются? Хорошая производительность требует учёта всех аспектов: как объективных, например, фактическое время загрузки страницы или частота смены кадров; так и субъективных — в буквальном смысле «как пользователь воспринимает систему».
Чем дольше загружается ваше приложение, тем больше пользователей решаются избавиться от него. Очень важно уменьшать время загрузки приложения, а так же промежутка времени, за которое оно становится интерактивным. Но в то же время, важно добавлять в приложение новые возможности, которые уменьшают время отклика и делают приложение интерактивным за счёт неочевидных хитростей, например, за счёт асинхронной загрузки данных, которые не понадобятся пользователю «здесь и сейчас».
Существуют инструменты измерения производительности, API и лучшие практики, которые помогут нам измерять и улучшать производительность. Мы постараемся раскрыть их в следующей секции:
- Lazy loading
Lazy loading (ленивая загрузка)
- Бюджет производительности
Бюджет производительности — это лимит для предотвращения регрессий. Этот бюджет может быть применён к файлам, типам файлов, всем ресурсам приложения, определённым общим показателям (например, Время до интерактивности) пользовательским показателям (например, Время до главного элемента) или к пороговым значениям к определённым точкам во времени.
- Время загрузки страницы и ресурсов
Тайминги навигации (Navigation timings) — это показатели, указывающие временные метки, в которые произошли события навигации. Тайминги ресурсов (Resource timings) — это детальные показатели по времени загрузки ресурсов.
- Время ожидания (latency)
Latency (дальше — время ожидания) — это время, которое требуется на доставку пакета данных от источника к пункту назначения. В деле оптимизации производительности важно сокращать проблемы, которые приводят к длительному времени ожидания.
Также необходимо научиться тестировать работу приложения в условиях плохого соединения. В этой статье мы рассмотрим само понятие времени ожидание, его причины, способы детекции и исправления.- Использование dns-prefetch
DNS-prefetch
(предзагрузка DNS) — это попытка определить IP адрес по имени домена до того, как ресурс с этого домена будет фактически запрошен. Это может быть загрузчик файлов, который используется позже или ссылка, по которой, вероятно, перейдёт пользователь.- Как работают браузеры
- Критические этапы рендеринга
Критические этапы рендеринга (Critical Rendering Path) — это последовательность шагов, которые выполняет браузер, когда преобразуется HTML, CSS и JavaScript в пиксели, которые вы видите на экране. Оптимизация этих шагов улучшает производительность рендера. Эти этапы включают в себя работу с Document Object Model(DOM), CSS Object Model(CSSOM), деревом рендера (render tree) и компоновкой объектов (layout)
- Мониторинг производительности: реальные пользователи и их эмуляция
Синтетический мониторинг и мониторинг реальных пользователей (Real User Monitoring, RUM) — два способа мониторинга и получения данных о веб-производительности. Эти два подхода дают два разных обзора производительности и каждый имеет свои преимущества, области применения и минусы. RUM, в основном, лучше подходит для понимания долгосрочных трендов, в то время как синтетический мониторинг хорошо подходит для тестирования регрессий, их быстрого обнаружения и быстрой реакции на них в процессе разработки. В этой статье мы определим и сравним оба подхода.
- Оптимизация запуска
Часто упускаемый из вида аспект разработки приложений — это скорость запуска приложения. Даже если вы прикладываете много усилий к оптимизации работы приложений, именно этот этап может быть пропущен. Как долго запускается ваше приложение? Создаётся ли впечатление, что устройство зависает, пока приложение запускается? Все эти симптомы заставляют пользователя считать, что приложение сломано или что-то идёт не так. Всегда будет не лишним убедиться, что ваше приложение запускается плавно. В этой статье мы поделимся некоторыми подсказками, которые помогут вам оптимизировать запуск приложения, вне зависимости от того, пишете ли вы его с нуля или работаете над уже существующим.
- Основы производительности
Английское слово Performance, которое используется в статьях о производительности приложений, также можно перевести, как «эффективность». Этот документ объясняет основы производительности, того как браузеры помогают улучшить её и какие инструменты и процессы вы можете использовать, чтобы её улучшить.
- Производительность CSS и JavaScript анимации
Анимация является критичным инструментом для улучшения пользовательского опыта во многих приложениях. Существует много путей создания анимации в web, например, основанные на CSS-свойствах
transition
/animation
или на JavaScript (usingWindow.requestAnimationFrame
). В этой статье мы проанализируем производительность CSS и JavaScript анимаций и сравним их.- Производительность анимации и частота кадров
Анимация в Вебе может быть сделана с помощью
SVGAnimationElement
,window.requestAnimationFrame
, включаяcanvas
иWebGL_API
, CSSanimation
,video
, анимированных GIF и даже с помощью анимированных PNG и других типов изображений. Производительность CSS-анимации может отличаться от одного CSS-свойства к другому, а попытка анимировать некоторые «дорогие» CSS-свойства может привести к зависаниям (jank), даже несмотря на то, что браузер борется за то, чтобы смягчить частоту смены кадров frame rate.- Тайминги производительности: как долго — долго?
Не существует чётко установленного набора правил, который определяет медленную скорость загрузки страниц, но существуют особые руководства, которые рекомендуют определённые тайминги: загрузка контента — 1 секунда, ожидание — 50мс, анимация — 16,7мс, ответ на действия пользователя — от 50 до 200мс.
The MDN Web Performance Learning Area contains modern, up-to-date tutorials covering Performance essentials. Start here if you are a newcomer to performance:
- Производительность веба: краткий обзор (en-US)
Обзор пути обучения повышения веб-производительности.
- Что такое производительность веба? (en-US)
В этой статье рассматривается производительность в целом — сюда входят инструменты, метрики, API, загрузка данных по сети и особые группы пользователей, которые нам нужно учитывать.
- Как пользователи воспринимают производительность? (en-US)
То как пользователи воспринимают ваш сайт является более важным, чем значения метрик в миллисекундах. На это восприятие влияет фактическое время загрузки страницы, бездействие, реакция на взаимодействие с пользователем, а также плавность прокрутки и других анимаций. В этой статье мы обсудим различные метрики загрузки, анимацию и показатели отклика, а также лучшие практики для улучшения восприятия пользователем без влияния на сами метрики.
- Основы производительности веба (en-US)
В дополнение к HTML, CSS, JavaScript и мультимедийным файлам существуют функции, которые могут замедлить работу приложений, и функции, которые могут сделать приложения субъективно и объективно быстрее. Существует множество API, инструментов разработчика, хороших и плохих практик, связанных с веб-производительностью. Здесь мы представим многие из этих функций на базовом уровне и предоставим ссылки на более подробные сведения для повышения производительности по каждой теме.
- Производительность HTML (en-US)
Некоторые атрибуты и порядок элементов разметки могут повлиять на производительность вашего веб-сайта. Сведя к минимуму количество DOM-элементов, обеспечив использование наилучшего порядка и атрибутов для включения контента, такого как стили, скрипты, мультимедиа и сторонние скрипты, вы можете значительно улучшить опыт пользователя (англ. UX). В этой статье подробно рассматривается, как можно использовать HTML для обеспечения максимальной производительности.
- Мультимедиа: изображения и видео (en-US)
Наиболее доступным подходом повышения веб-производительности часто является медиа-оптимизация. Возможно обеспечить загрузку различных вариантов медиафайлов в зависимости от возможностей, размера и плотности пикселей дисплея каждого конкретного пользовательского устройства. Дополнительные советы, такие как удаление звуковых дорожек из фоновых видео, могут еще больше улучшить производительность. В этой статье мы обсудим влияние изображений, видео- и аудиоконтента на производительность, а также способы оптимизации.
- Производительность CSS (en-US)
CSS может быть менее важным направлением оптимизации для повышения производительности, но есть некоторые функции CSS, которые влияют на производительность значительно сильнее прочих. В этой статье мы рассмотрим некоторые свойства CSS, влияющие на производительность, и предложим способы работы со стилями, которые помогут снизить негативное влияние на производительность.
- Производительность JavaScript (en-US)
JavaScript при правильном использовании может обеспечить пользователю интерактивный и захватывающий опыт. Или он может значительно снизить время загрузки, время рендеринга, производительность в приложении, время автономной работы и удобство для пользователя. В этой статье описаны некоторые передовые методы работы с JavaScript, которые следует учитывать, чтобы обеспечить максимально возможную производительность даже сложного контента.
- Производительность на мобильных устройствах
Поскольку доступ в Интернет на мобильных устройствах весьма популярен, а все мобильные платформы имеют полноценные браузеры, но, возможно, с ограниченной пропускной способностью, ЦП и временем автономной работы, важно учитывать производительность вашего веб-контента на этих платформах. В этой статье рассматриваются вопросы производительности для мобильных устройств.
- Performance API
This guide describes how to use the
Performance
interfaces that are defined in the High-Resolution Time standard.- Resource Timing API (en-US)
Resource loading and timing (en-US) the loading of those resources, including managing the resource buffer and coping with CORS
- The performance timeline
The Performance Timeline standard defines extensions to the
Performance
interface to support client-side latency measurements within applications. Together, these interfaces can be used to help identify an application’s performance bottlenecks.- User Timing API (en-US)
Create application specific timestamps using the user timing API (en-US)‘s «mark» and «measure» entry types — that are part of the browser’s performance timeline.
- Frame Timing API
The
PerformanceFrameTiming
interface provides frame timing data about the browser’s event loop.- Beacon API (en-US)
The Beacon interface schedules an asynchronous and non-blocking request to a web server.
- Intersection Observer API
Learn to time element visibility with the Intersection Observer API and be asynchronously notified when elements of interest becomes visible.
- Developer Tools Performance Features
This section provides information on how to use and understand the performance features in your developer tools, including Waterfall, Call Tree (en-US), and Flame Charts (en-US).
- Profiling with the built-in profiler (en-US)
Learn how to profile app performance with Firefox’s built-in profiler.
- Beacon (en-US)
- Brotli compression (en-US)
- Client hints (en-US)
- Code splitting (en-US)
- CSSOM (en-US)
- Domain sharding (en-US)
- Effective connection type (en-US)
- First contentful paint
- First CPU idle
- First input delay
- First interactive
- First meaningful paint
- First paint
- HTTP
- HTTP/2
- Jank (en-US)
- Latency (en-US)
- Lazy load (en-US)
- Long task (en-US)
- Lossless compression (en-US)
- Lossy compression (en-US)
- Main thread (en-US)
- Minification (en-US)
- Network throttling (en-US)
- Packet (en-US)
- Page load time (en-US)
- Page prediction (en-US)
- Parse (en-US)
- Perceived performance (en-US)
- Prefetch (en-US)
- Prerender (en-US)
- QUIC (en-US)
- RAIL (en-US)
- Real User Monitoring (en-US)
- Resource Timing (en-US)
- Round Trip Time (RTT)
- Server Timing (en-US)
- Speculative parsing
- Speed index (en-US)
- SSL (en-US)
- Synthetic monitoring (en-US)
- TCP handshake (en-US)
- TCP slow start (en-US)
- Time to first byte
- Time to interactive
- TLS
- Transmission Control Protocol (TCP)
- Tree shaking (en-US)
- Web performance (en-US)
- JavaScript performance best practices (en-US)
JavaScript, when used properly, can allow for interactive and immersive web experiences . .. or it can significantly harm download time, render time, in app performance, battery life, and user experience. This article outlines some JavaScript best practices that can ensure even complex content’s performance is the highest possible.
- Mobile performance
With web access on mobile devices being so popular, and all mobile platforms having fully-fledged web browsers, but possibly limited bandwidth, CPU, and battery life, it is important to consider the performance of your web content on these platforms. This article also looks at mobile-specific performance considerations.
- Web font performance
An often overlooked aspect of performance landscape are web fonts. Web fonts are more prominent in web design than ever, yet many developers simply embed them from a third party service and think nothing of it. In this article, we’ll covers methods for getting your font files as small as possible with efficient file formats and sub setting. From there, we’ll go on to talk about how browsers text, and how you can use CSS and JavaScript features to ensure your fonts render quickly, and with minimal disruption to the user experience.
- Performance bottlenecks
…
- Understanding bandwidth
Bandwidth is the amount of data measured in Megabits(Mb) or Kilobits(Kb) that one can send per second. This article explains the role of bandwidth in media-rich internet applications, how you can measure it, and how you can optimize applications to make the best use of available bandwidth.
- The role of TLS in performance
TLS—or HTTPS as we tend to call it—is crucial in creating secure and safe user experiences. While hardware has reduced the negative impacts TLS has had on server performance, it still represents a substantial slice of the time we spend waiting for browsers to connect to servers. This article explains the TLS handshake process, and offers some tips for reducing this time, such as OCSP stapling, HSTS preload headers, and the potential role of resource hints in masking TLS latency for third parties.
- Reading performance charts
Developer tools provide information on performance, memory, and network requests. Knowing how to read waterfall charts, call trees (en-US), traces, flame charts (en-US) , and allocations (en-US) in your browser developer tools will help you understand waterfall and flame charts in other performance tools.
- Alternative media formats
When it comes to images and videos, there are more formats than you’re likely aware of. Some of these formats can take your highly optimized media-rich pages even further by offering additional reductions in file size. In this guide we’ll discuss some alternative media formats, how to use them responsibly so that non-supporting browsers don’t get left out in the cold, and some advanced guidance on transcoding your existing assets to them.
- Analyzing JavaScript bundles
No doubt, JavaScript is a big part of modern web development. While you should always strive to reduce the amount of JavaScript you use in your applications, it can be difficult to know where to start. In this guide, we’ll show you how to analyze your application’s script bundles, so you know what you’re using, as well how to detect if your app contains duplicated scripts between bundles.
- Lazy loading
Lazy loading (ленивая загрузка) — это стратегия, направленная на определение ресурсов как неблокирующих (не критических) для того, чтобы отложить загрузку этих ресурсов на тот момент, когда они действительно необходимы.
- Lazy-loading JavaScript with dynamic imports
When developers hear the term «lazy loading», they immediately think of below-the-fold imagery that loads when it scrolls into the viewport. But did you know you can lazy load JavaScript as well? In this guide we’ll talk about the dynamic import() statement, which is a feature in modern browsers that loads a JavaScript module on demand. Of course, since this feature isn’t available everywhere, we’ll also show you how you can configure your tooling to use this feature in a widely compatible fashion.
- Controlling resource delivery with resource hints
Browsers often know better than we do when it comes to resource prioritization and delivery however they’re far from clairyovant. Native browser features enable us to hint to the browser when it should connect to another server, or preload a resource before the browser knows it ever needs it. When used judiciously, this can make fast experience seem even faster. In this article, we cover native browser features like rel=preconnect, rel=dns-prefetch, rel=prefetch, and rel=preload, and how to use them to your advantage.
- Performance Budgets
Marketing, design, and sales needs, and developer experience, often ad bloat, third-party scripts, and other features that can slow down web performance. To help set priorities, it is helpful to set a performance budget: a set of restrictions to not exceed during the development phase. In this article, we’ll discuss creating and sticking to a performance budget.
- Web performance checklist
A performance checklist of features to consider when developing applications with links to tutorials on how to implement each feature, include service workers, diagnosing performance problems, font loading best practices, client hints, creating performant animations, etc.
- Mobile performance checklist
A concise checklist of performance considerations impacting mobile network users on hand-held, battery operated devices.
HTML
- The
<picture>
Element - The
<video>
Element - The
<source>
Element - The
<img> srcset
attribute- Responsive images
- Preloading content with
rel="preload"
(en-US) — (https://w3c.github.io/preload/)
CSS
- will-change
- GPU v CPU
- Measuring layout
- Font-loading best practices
JavaScript
- DOMContentLoaded
- Garbage collection (en-US)
- requestAnimationFrame
APIs
- Performance API (en-US)
- Navigation Timing API
- Media Capabilities API (en-US)
- Network Information API
- PerformanceNavigationTiming (en-US)
- Battery Status API (en-US)
- Navigator. deviceMemory (en-US)
- Intersection Observer
- Using the User Timing AP (en-US)I
- Long Tasks API (en-US)
- High Resolution Timing API (https://w3c.github.io/hr-time/)
- Resource Timing API (en-US)
- Page Visibility
- Cooperative Scheduling of Background Tasks API (en-US)
- requestIdleCallback()
- Beacon API (en-US)
- Resource Hints — dns-prefetch (en-US), preconnect, prefetch (en-US), and prerender
- Fetchevent.navigationPreload (en-US)
- Performance Server Timing API (en-US)
Headers
- Content-encoding
- HTTP/2
- gZip (en-US)
- Client Hints
Tools
- Performance in Firefox Developer Tools
- Flame charts
- The Network panel
- Waterfall charts
Additional Metrics
- Speed Index and Perceptual Speed Index
Best Practices
- Using Service Workers
- Using Web Workers
- Web Workers API
- PWA (en-US)
- Caching
- Content Delivery Networks (CDN)
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on by MDN contributors.
World Wide Web (WWW) — GeeksforGeeks
World Wide Web сокращенно называется WWW и широко известен как Интернет. WWW был инициирован CERN (Европейской библиотекой ядерных исследований) в 1989 году.
WWW можно определить как совокупность различных веб-сайтов по всему миру, содержащих различную информацию, совместно используемую через локальные серверы (или компьютеры).
История:
Это проект, созданный Тимоти Бернером Ли в 1989 году для эффективной совместной работы исследователей в ЦЕРНе. — это организация под названием World Wide Web Consortium (W3C), которая была разработана для дальнейшего развития Интернета. Эту организацию возглавляет Ли из Тима Бернера, также известный как отец Интернета.
Архитектура системы:
С точки зрения пользователя, Интернет представляет собой обширную всемирную сеть документов или веб-страниц. Каждая страница может содержать ссылки на другие страницы в любой точке мира. Страницы можно извлекать и просматривать с помощью браузеров, среди которых наиболее популярны Internet Explorer, Netscape Navigator, Google Chrome и т. д. Браузер выбирает запрошенную страницу, интерпретирует текст и команды форматирования на ней и отображает правильно отформатированную страницу на экране.
Базовая модель работы Интернета показана на рисунке ниже. Здесь браузер отображает веб-страницу на клиентской машине. Когда пользователь щелкает строку текста, связанную со страницей на сервере abd.com, браузер переходит по гиперссылке, отправляя сообщение на сервер abd.com с запросом страницы.
Здесь браузер отображает веб-страницу на клиентском компьютере, когда пользователь щелкает строку текста, связанную со страницей на abd. com, браузер переходит по гиперссылке, отправляя сообщение на сервер abd.com с запросом страницы.
Работа WWW:
Всемирная паутина основана на нескольких различных технологиях: веб-браузерах, языке гипертекстовой разметки (HTML) и протоколе передачи гипертекста (HTTP).
Веб-браузер используется для доступа к веб-страницам. Веб-браузеры можно определить как программы, которые отображают текст, данные, изображения, анимацию и видео в Интернете. Доступ к гиперссылкам во Всемирной паутине можно получить с помощью программных интерфейсов, предоставляемых веб-браузерами. Первоначально веб-браузеры использовались только для просмотра веб-страниц, но теперь они стали более универсальными. Веб-браузеры можно использовать для выполнения нескольких задач, включая поиск, отправку почты, передачу файлов и многое другое. Некоторые из наиболее часто используемых браузеров — это Internet Explorer, Opera Mini и Google Chrome.
Особенности WWW:
- Гипертекстовая информационная система
- Кросс-платформенная
- Распределенная
- Открытые стандарты и открытый исходный код
- Использование веб-браузера rs, чтобы обеспечить единый интерфейс для многих сервисов
- Динамический, интерактивный и развивающийся.
- «Веб 2.0»
Компоненты Интернета: Существует 3 компонента Интернета:
- Единый указатель ресурсов (URL): служит системой для ресурсов в Интернете.
- Протокол передачи гипертекста (HTTP): определяет связь браузера и сервера.
- Язык гипертекстовой разметки (HTML): определяет структуру, организацию и содержание веб-страницы.
Читайте также | История Интернета
Какие веб-технологии мне следует изучить?
Перейти к содержимомуКакие веб-технологии мне следует изучить?
Поделись этой статьей!
- Посмотреть увеличенное изображение
Вы хотите стать фронтенд- или бэкенд-веб-разработчиком? Возможно, вы нацелились стать полноценным разработчиком. В каждой области есть свои технологии, но есть определенные веб-технологии, которые вы должны знать независимо от типа разработки. Основным компонентом веб-приложения является веб-стек.
Веб-стек — это набор программного обеспечения, составляющего среду для веб-приложения. Большинство стеков состоят из языка программирования, веб-сервера, фреймворка и базы данных. Если вы бэкенд-разработчик, вам нужно быть более знакомым со всем стеком, в то время как фронтенд-разработчик будет больше сосредоточен на отдельных компонентах.
Какие существуют веб-технологии?Веб-технологии часто делятся в зависимости от того, где они используются. То есть ориентированы ли они на клиентскую или серверную часть веб-приложений? Знание основных категорий веб-технологий необходимо, если вы планируете заниматься веб-разработкой. Итак, вот список технологий веб-разработки по категориям:
- Браузеры
- HTML и CSS
- Языки программирования
- Каркасы
- Веб-серверы
- Базы данных
- Протоколы
- Наконец, форматы данных
Хотя при создании веб-приложения задействовано множество технологий, некоторые из них играют более важную роль.
Лучшие веб-технологии для изученияЧтобы создать веб-приложение, разработчик должен быть знаком с одним или двумя языками программирования, внешними и внутренними средами, базами данных и CSS.
CSSКаскадные таблицы стилей позволяют дизайнерам изменять внешний вид веб-страницы. Фреймворки CSS, такие как Bootstrap или Tailwind CSS, могут ускорить разработку страницы. Однако разработчики интерфейсов могут создавать модульные компоненты CSS, которые можно повторно использовать по мере необходимости, что устраняет необходимость в таких фреймворках, как Materialize и Bulma.
Постоянно разрабатываются инструменты, помогающие в разработке и создании веб-страниц. Например, LESS и SASS — это предварительные компиляторы, которые добавляют функциональность и упрощают работу с CSS. Flexbox и Grid – это два новых инструмента, которые помогают разрабатывать макеты веб-страниц в виде сетки.
Фреймворки
Фреймворки решают повторяющиеся задачи разработки или упрощают выполнение задач программирования. Существуют фреймворки для серверной и клиентской частей веб-разработки. Разные языки программирования требуют разных фреймворков. Несколько серверных фреймворков включают:
- Node.js. Серверная платформа JavaScript
- Ruby on Rails . Фреймворк с полным стеком для Ruby
- .NET. Полнофункциональная платформа Microsoft
- Джанго. Фреймворк с полным стеком для Python
- Yii, Zend и Laravel . Три самых популярных PHP-фреймворка.
- Метеор. Полная платформа для JavaScript, которая может сосуществовать с интерфейсными платформами.
- Весна. Java-фреймворк.
Meteor и фреймворки PHP являются новыми на рынке. Некоторые интерфейсные фреймворки основаны на системах управления контентом (CMS). И WordPress, и Drupal — это системы на основе CMS, построенные на PHP. Также доступны мобильные фреймворки, в том числе Ionic и Phonegap/Cordova. Существует несколько интерфейсных фреймворков для JavaScript, таких как 9.0005
- Angular.js
- Ember.js
- Backbone.js
- Express.js
- Vue.js
С таким количеством фреймворков легко изучить несколько фреймворков. Лучший подход — выучить один или два и расширять их по мере необходимости.
Языки программирования
У программистов есть свои любимые языки. Лучший язык — это скорее вопрос предпочтений, чем функциональности, хотя бывают случаи, когда один язык может лучше подходить для приложения, чем другой. Вот самые распространенные языки программирования.
- Джаваскрипт
- Питон
- Рубин
- PHP
- Ява
- С#
- HTML
- Эликсир
- Наконец, Скала
Elixir и Scala — относительно новые языки. Другие языки включают Go, Objective-C для iPhone и Swift. Swift — новейший язык программирования Apple.
Базы данных
Базы данных могут быть реляционными, как SQL, или нереляционными, как MongoDB. Независимо от базы данных, веб-приложения используют их для хранения данных, которые используются для отображения на веб-страницах. Ниже приведены наиболее часто используемые базы данных.
- MongoDB — это база данных NoSQL с открытым исходным кодом
- Oracle — корпоративная база данных SQL
- SQL Server — база данных Microsoft SQL
- Redis — самое популярное хранилище ключей и значений
- PostgreSQL — популярная база данных SQL с открытым исходным кодом
- MySQL — популярная база данных с открытым исходным кодом
Понимание хранения данных делает передачу информации от внешнего интерфейса к внутреннему более эффективной.
Обзор технологий веб-разработкиПомимо основных веб-технологий, существуют браузеры, веб-серверы, протоколы, форматы данных и API.
Браузеры
Веб-приложения должны быть независимыми от браузера.
- Google Chrome . Самый популярный браузер
- Сафари. Веб-браузер Apple
- Firefox. Браузер с открытым исходным кодом
- Internet Explorer . Браузер Microsoft
Однако, если приложение не является независимым, веб-страницы могут отображаться не так, как должны.
Веб-серверы
Веб-серверы обеспечивают передачу трафика между клиентом и сервером. Наиболее часто используемые серверы включают:
- Веб-сервер Apache
- Веб-сервер Nginx
- Веб-сервер IIS
- Веб-сервер LiteSpeed
Кроме того, Apache Tomcat, Node.js и Lighttpd являются другими веб-серверами.
Протоколы
Протоколы стандартизируют взаимодействие данных между компьютерами. Кроме того, HTTPS — это протокол между браузером и веб-сайтом. Действительно, это основной способ передачи информации через Интернет. Два более новых протокола:
- DDP — это новый протокол, созданный в связи с Meteor, который устанавливает последовательное сокетное соединение между клиентом и сервером.