- Notifications
You must be signed in to change notification settings - Fork184
From the orbital height#337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Uh oh!
There was an error while loading.Please reload this page.
Merged
Changes fromall commits
Commits
Show all changes
17 commits Select commitHold shift + click to select a range
822a67e Translate web components intro
yurii-hasiuk45597b4 Merge branch 'javascript-tutorial:master' into master
yurii-hasiuk73c28da Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk4e9d4c5 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiukb97c512 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiukdab24d1 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuka4580c3 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk1f053a9 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk75945e7 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuked5594e Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiukbe50254 Update 8-web-components/index.md
yurii-hasiukb60db66 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiukdfeb56d Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk586e08e Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk46d1e83 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk6879fb8 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiuk95fdc85 Update 8-web-components/1-webcomponents-intro/article.md
yurii-hasiukFile filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
86 changes: 43 additions & 43 deletions8-web-components/1-webcomponents-intro/article.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,76 +1,76 @@ | ||
| #З висоти орбітального польоту | ||
| Ця секція описує набір сучасних стандартів для "веб компонентів". | ||
| Наразі, ці стандарти знаходяться в розробці. Деякі особливості зараз добре підтримуються та інтегровані у сучасний HTML/DOMстандарт, але деякі все ще у стадії чернетки. Ви можете погратись з прикладами у будь-якому браузері, алеGoogle Chrome, мабуть, має найкращу підтримку. Скоріш за все це пов’язано з тим, що саме компаніяGoogleстоїть за багатьма специфікаціями до веб компонентів. | ||
| ##Що спільного між... | ||
| Загалом, компонентний підхід не є чимось новим. Це використовується у багатьох фреймворках. | ||
| Перед тим, як ми перейдемо до деталей реалізації, погляньмо на одне з найбільших досягнень людства: | ||
|  | ||
| Це Міжнародна космічна станція (МКС). | ||
| І це як вона зроблена всередині (приблизно): | ||
|  | ||
| Міжнародна космічна станція: | ||
| -Складається з багатьох компонентів. | ||
| -Кожен компонент своєю чергою складається з менших деталей всередині. | ||
| -Компоненти є дуже складними, і набагато складніші ніж більшість вебсайтів. | ||
| -Складові розроблялись командами з різних країн | ||
| ...І ця штука літає, зберігаючи життя людей у космосі! | ||
| Як саме було створено такі комплексні і складні пристрої? | ||
| Які принципи ми можемо запозичити, щоб зробити нашу розробку такою ж надійною та масштабованою? Або, принаймні, близькою до такої? | ||
| ##Архітектура компонентів | ||
| Добре відоме правило розробки складного програмного забезпечення: не створюйте складне програмне забезпечення. | ||
| Якщо щось стає складним --розділіть його на простіші частини й з'єднайте найбільш очевидним способом. | ||
| **Хороший архітектор - це той, хто може зробити складне простим** | ||
| Ми можемо розділити інтерфейс користувача на візуальні компоненти: кожен з них має своє місце на сторінці, може "виконувати" своє призначення та існувати окремо від інших. | ||
| Давайте поглянемо на веб-сайт, наприклад, Twitter. | ||
| Він природним чином розбивається на компоненти: | ||
|  | ||
| 1.Верхня навігація. | ||
| 2.Інформація про користувача. | ||
| 3.Список пропозицій. | ||
| 4.Поле для нового твіту. | ||
| 5. (а також 6, 7) --твіти. | ||
| Компоненти можуть містити в собі інші компоненти, наприклад, повідомлення можуть бути частинами компоненти "списку повідомлень" вищого рівня. Зображення користувача, яке можна натиснути, може бути також компонентом. | ||
| Як ми визначаємо, що таке компонент? Все залежить від інтуїції, досвіду та здорового глузду. Зазвичай, це окрема візуальна сутність, яку ми можемо описати з точки зору того, що вона робить і як вона взаємодіє зі сторінкою. У наведеному вище випадку на сторінці є блоки, які відіграють свою роль. Отже, було б логічно розділити цю сторінку на компоненти. | ||
| Компонент має: | ||
| -ВласнийJavaScriptклас. | ||
| -Структуру DOM, яка керована виключно її класом, зовнішній код не має доступу до неї (принцип "інкапсуляції"). | ||
| -Стилі CSS, застосовані до компонента. | ||
| - API:події, методи класу тощо для взаємодії з іншими компонентами. | ||
| Знову ж таки, весь "компонентний" підхід річ не нова і в ньому немає нічого особливого. | ||
| Існує багато фреймворків і методологій розробки для їх побудови, кожна зі своїми "фічами". Зазвичай для забезпечення "відчуття компонентів" використовуються спеціальні класи та конвенції CSS--область визначенняCSSта інкапсуляція DOM. | ||
| "Веб компоненти" надають для цього вбудовані можливості браузера, тому нам більше не потрібно їх емулювати. | ||
| - [Custom elements](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements) --для визначення власних HTMLелементів. | ||
| - [Shadow DOM](https://dom.spec.whatwg.org/#shadow-trees) --для створення внутрішньогоDOMдля компонента, прихованого від інших. | ||
| - [CSS Scoping](https://drafts.csswg.org/css-scoping/) --щоб оголошувати стилі, які застосовуються лише всерединіShadow DOMкомпонента. | ||
| - [Event retargeting](https://dom.spec.whatwg.org/#retarget)та інші незначні речі, щоб нестандартні компоненти краще відповідали розробці. | ||
| У наступному розділі ми детально розглянемо "нестандартні елементи" --фундаментальну і добре підтримувану функцію веб компонентів, яка сама по собі хороша. |
5 changes: 3 additions & 2 deletions8-web-components/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| # Веб компоненти | ||
| Веб компоненти -- це набір стандартів для створення нестандартних HTML-елементів зі своїми властивостями й методами, інкапсульованим DOM і стилями. | ||
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.