Веб-сервисы. шаг 1. что такое веб-сервис и как с ним работать?

Розыгрыш

Авторизуйтесь на ForkLog через Waves Keeper, чтобы участвовать в розыгрыше аппаратного криптокошелька Ledger Nano S и 1000 токенов WAVES (~$1300).


Чтобы участвовать в розыгрыше, авторизуйтесь на ForkLog через Waves Keeper в десктопном браузере с 17.08.2019 по 30.08.2019. Мы объявим адрес кошелька победителя 31.08.2019 в Telegram-каналах ForkLog и Waves.

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

Победителя определит блокчейн-рандомайзер от ForkLog и Waves. Это наша новая секретная разработка, мы уже заканчиваем страницы и скоро все опубликуем.

Что такое веб-компоненты

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

  • Custom elements – возможность регистрировать свои html-тэги с определенным поведением
  • Shadow DOM – создание изолированного контекста CSS
  • Slots – возможность комбинировать внешний html-контент со внутренним html компонента

В качестве примера напишем компонент, который будет приветствовать пользователя по имени:

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

Посмотреть этот код в действии можно здесь.

Database Engine

A database engine or database server is the underlying component of your website where your entire website’s data is stored.  This is where your website will store all the information such as products, orders, transactions, user records, etc. You might be surprised to learn that most CMS (Content Management Systems) use databases to store even the content of the website. Yes, this means that even text on your website may be stored in the database as well. The choice of the database engine largely depends on other factors, such as the programming language/framework, web server, etc.  The most common databases for web developers are MySQL, Microsoft SQL Server, Oracle and Postgres. The choice is generally dependent on the other technologies covered below. Please note, MySQL and Postgres are generally “free” (open source) database engines, whereas Microsoft SQL and Oracle require licenses that can be expensive.

Website is A Cake of Many Layers

Prior to deciding which technology is right for your website, it is imperative that you understand all building blocks of a website. You can think of a modern website as a cake that has multiple layers. Each layer represents a certain technology. Each “technology layer” has its own function and purpose. Choose them wisely and you have a great-tasting cake. Choose poorly, and your product will be inedible. The following are some of the “layers” you should know:

Client-Side Coding HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) and JavaScript are essential components to your website. They are as important to your website as sugar is to your cake.  You can’t build a modern website without these components, and your web developer must be an expert in all three. What do they do? To put things in simple terms:  HTML is a language that makes up the content of your website and tells your browser (like Internet Explorer or Google Chrome) what to show on the website. CSS is a language used to describe the presentation (the look and formatting) of your website, and it tells your browser what to show on your website. JavaScript is a programming language commonly used to create interactive effects within web browsers. These are client-side technologies. Client-side means that when you go to a website, your browser downloads HTML, CSS and JavaScript.  At that point your browser renders (or processes) HTML and CSS and executes (or runs) JavaScript. This happens on your computer; therefore, these technologies are client-side. You may hear of other client-side technologies like Ajax or jQuery, which are typically methods or libraries to expand and enhance JavaScript capabilities.


Another client-side technology is Flash. Flash is one client-side technology that should be avoided. Adobe Flash was used historically to create animations and interactive experiences. It has been replaced with HTML5/CSS3 — new versions that have built-in support for functionality that was formerly only possible with Flash. The biggest issue with Flash is that it is not supported by iOS (Apple’s operating system) so parts of your website written in Flash won’t work on iPhones or iPads. Finally, Flash is also not SEO friendly.

Отзывчивый и адаптивный дизайн

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

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

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

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.

Читать еще 

  • Эврика! Моменты озарения при изучении React
  • Разбираемся в Scrum и Kanban
  • 5 советов тем, кто учится программированию в «Нетологии»

Обучение

  • Бесплатный курс «Основы HTML и CSS»
  • Программа обучения «HTML-верстка: с нуля до первого макета»
  • Фронтенд-разработчик с нуля — «Профессия front-end разработчик»

СМИ ПОН

Подлинная история советского «ограбления века». Дело братьев Калачян

В 1977 году в Армении произошло крупнейшее в истории СССР ограбление Госбанка.

Об ограблении денежных хранилищ Госбанка не думали даже матёрые уголовники. И тем не менее в 1977 году случилось немыслимое — злоумышленники покусились на святая святых советской финансовой системы.

Операция «Архив». Как Советский Союз окончательно избавился от Гитлера

На рубеже 1980–1990-х годов, когда в Восточной Европе произошло обрушение просоветских режимов, а Западная Германия поглотила Восточную, произошло резкое усиление позиций неонацистов.

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

Непобедимая страна. 15 интересных фактов о Советском Союзе

30 декабря 1922 года на Первом Всесоюзном съезде Советов было утверждено образование Союза Советских Социалистических республик. Советский Союз занимал территорию площадью 22 400 000 квадратных километров, являясь самой большой страной на планете, имел самую протяжённую границу в мире (свыше 60 000 километров) и граничил с 14 государствами.

Великая душа. Жизнь и принципы Махатмы Ганди

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

Продукт гуманизма. Как сердобольный дантист придумал «электрический стул»


6 августа 1890 года человечество вписало новую страницу в свою историю. Научно-технический прогресс добрался и до такого специфического рода деятельности, как исполнение смертных приговоров. В Соединённых Штатах Америки была проведена первая смертная казнь на «электрическом стуле».

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

Programming Languages

As we explained before, since computers don’t use languages that are anything like human languages, they need a different way to communicate. Here are some of the most popular programming languages:

Javascript – used by all web browsers, Meteor, and lots of other frameworks

CoffeeScript – a “dialect” of JavaScript. It is viewed as simpler but it converts back into JavaScript

Python – used by the Django framework as well as in the majority of mathematical calculations

Ruby – used by the Ruby on Rails framework

PHP – used by WordPress to create those WYSIWYG editors that everyone is using now. It’s also used by Facebook, Wikipedia, and other major sites

Go – newer language, built for speed

Swift – Apple’s newest programming language

Java – used by Android and a lot of desktop applications.

So let’s talk about the most popular ones in a bit more detail.

JavaScript

According to , JavaScript is the most popular programming language with 62.5% of respondents claiming to use it.


It is one of the core web technologies and if you want to learn more about it, you can start with this essential training that covers all the basics, working with functions and objects, interacting with DOM, etc. This course is recent – from April 2019 – Javascript evolves quickly, so it makes sure you leverage the newest language “perks” as you learn.

Ruby

The developers love Ruby – and for all the right reasons. Designed to be user-friendly and really easy to use, it’s no wonder that this programming language is often called “a programmer’s best friend.”

What you can expect from Ruby is a shorter, readable code. Unfortunately, that sometimes means lower efficiency compared to other programming languages – but it also means higher productivity.

If you are a beginner in the web development world, Ruby would be a great choice for the first programming language to learn. A well-written Ruby code can be almost as readable as the sentence in plain English language.

But the real reason most people use Ruby is its popular framework — Ruby on Rails which we mentioned earlier in the text. The great productivity achieved with Rails makes it a common choice for startups who aim for a running start.

Elixir

Elixir appeared back in 2011 and gained popularity almost immediately. It was inspired by Erlang, a language developed back in the ‘80s by Ericsson. Elixir’s author José Valim himself said that he loved Erlang, but also noticed some things that could use a bit of improvement.

Scala

Scala stands for Scalable Language, and is one of the many attempts to “rewrite Java” and it is compiled to run on the Java Virtual Machine (JVM). It is safe to say this programming language turned out to be quite a success taking into consideration that companies like LinkedIn, Twitter, and The Guardian use it in their codebases. Scala is known to be a complex language but also a language worth learning.

This essential 3-hour training may be a good way to start your journey with Scala.

Технологии, которые стали фаворитами

  • JavaScript-модули. Модули отлично зарекомендовали себя в серверном JavaScript-коде. И я безмерно рад тому, что наконец могу использовать их и на стороне клиента.
  • Объектно-ориентированный JavaScript. Вот пять золотых правил объектно-ориентированной JavaScript-разработки:
    1. Заменяйте анонимные объекты именованными классами.
    2. Объявляйте и инициализируйте все свойства объектов в конструкторах.
    3. Защищайте объекты от изменений сразу после создания.
    4. Объявляйте методы с неизменными сигнатурами.
    5. Привязывайте к каждому коллбэку.
  • Blue Phrase. Эта система позволяет мне пользоваться декларативным подходом при создании шаблонов и при подготовке различных материалов. Она превращает написание качественного HTML-кода в сплошное удовольствие.

Shadow DOM и производительность

Для стилизации больших html-страниц может понадобится много CSS, и придумывать уникальные имена классам может оказаться сложно. Здесь на помощь приходит Shadow DOM. Эта технология позволяет создавать области изолированного CSS. Таким образом, можно отрендерить компонент со своими стилями, которые не будут пересекаться с другими стилями на странице. Даже если у вас будет имя класса, совпадающее с чем-то еще, стили не смешаются, если каждый из них будет жить в своем Shadow DOM. Создается Shadow DOM вызовом метода , а затем мы должны добавить внутрь Shadow DOM наши стили, либо тэгом либо через .

Таким образом, каждый экземпляр компонента получает свою копию CSS, что очевидно должно сказаться на производительности. Вот это демо показывает, насколько именно. Если рендер обычных элементов без Shadow DOM занимает порядка 30мс, то с Shadow DOM это около 50мс. Возможно, в будущем производители браузеров улучшат производительность, но в настоящее время лучше отказаться от мелких веб-компонентов и постараться делать компоненты типа вместо отдельных .

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

Flash

Unlike all of the above technologies, Flash is not an open source technology. Flash is owned by Macromedia, and they produce the application required to produce Flash content for your web site. Furthermore, a web browser on it’s own will not display Flash content, a ‘plug-in’ must be downloaded (for free) and installed by the visitor to your site before they can view it properly. These plug-ins (mini-applications) must also be updated to ensure that they can display the most up-to-date Flash content on the Net.

While I have discussed the drawbacks of Flash, there are many positives. Flash is currently one of the only true multimedia packages for the Net, providing support for animation, video, sound and truly impressive interactive web site experiences. The one real pity about Flash is that it may never become a standard technology, which is a real shame. That is not to say that it’s future is not bright, with many web users having the plug-in installed, and with most web designers quoting Flash as the application of choice.


С этим читают