рдкрд╣рд▓реЗ рд╡рд┐рд╖рдп рдХреЛ рдХрдИ рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреЗ рдкрджреЛрдВ рдХреЗ рднрд╛рдЧреНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛!
рдореИрдВ рд╣рд╛рд░ рдирд╣реАрдВ рдорд╛рдирддрд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд░рд╣реЗрдВ ...
рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗ:
- рдХреНрд▓рд╛рд╕реЗрд╕ред рдкрд░рд┐рднрд╛рд╖рд╛, рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛, рд╡рд┐рд░рд╛рд╕рддред
- рдХреНрд▓рд╛рд╕ рддрд░реАрдХреЗ рдФрд░ рдлрд╝реАрд▓реНрдб, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЗ
рддреНрдпрд╛рдЧ
рд╣рдмреНрд░рдЬрд╝рд┐рддрд▓реА, рдореИрдВ рдкрд░рдо рд╕рддреНрдп рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ JS рдФрд░ Enyo рдХрд╛ рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдзреВрд░рд╛ рд╣реИред
рдореИрдВ рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдкреА рд╕реЗ рд╕рднреА рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдкреНрд░рд▓реЗрдЦрдиред
рд▓рд┐рдВрдХ
рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╖рдп рдкрд░ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
enyojs.com рдкрд░ред
рд╕реНрд░реЛрдд рдбреЗрдЯрд╛
рд╣рдо рдЙрд╕реА "index.html" рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
<!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>Title</title> <link rel="stylesheet" href="http://enyojs.com/enyo-2.2.0/enyo.css"> <script type="text/javascript" src="http://enyojs.com/enyo-2.2.0/enyo.js"></script> </head> <body> <script type="text/javascript"> </script> </body> </html>
рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред
рдХреНрд▓рд╛рд╕реЗрд╕ред рдкрд░рд┐рднрд╛рд╖рд╛, рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛, рд╡рд┐рд░рд╛рд╕рддред
рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛:
class ClassName {}
Enyo рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛
enyo.kind({name: 'ClassName'})
рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдореВрд▓ рдирд╣реАрдВ рд╣реИ:
var class_name = new ClassName()
рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ:
class ClassNameA {} class ClassNameB extends ClassNameA {}
Enyo рдореЗрдВ рдирд┐рдореНрди рд░реВрдк рд▓реЗ рдЬрд╛рдПрдЧрд╛:
enyo.kind({name: 'ClassNameA'}) enyo.kind({kind: 'ClassNameA', name: 'ClassNameB'})
рдпрд╣рд╛рдБ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдпрджрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп OOP рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ "ClassName" рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдореГрддрд┐ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ), рддреЛ Enyo рдореЗрдВ, рдЖрдзрд╛рд░ рд╡рд░реНрдЧ "enyo.Control" рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдЧрд╛ - DOM рддрддреНрд╡ рдХреЛ
div
рдЯреИрдЧ (рдХрдареЛрд░ WEB рд╡рд┐рд░рд╛рд╕рдд) рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд "ClassNameA" рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдмреЗрд╕ рдХреНрд▓рд╛рд╕ "enyo.Control" рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдпрджрд┐ рдорд╛рдорд▓реЛрдВ рдХреА рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ - "enyo.Component" рд╡рд╛рд░рд┐рд╕ред
C ++ / Java / etc рд╢реИрд▓реА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ред рдЬрд╣рд╛рдВ рднреА рд╕рдВрднрд╡ рд╣реЛ рдкрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ -
рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рдо
рд╣рдорд╛рд░рд╛ "index.html" рд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдбрд╛рд▓реЗрдВ:
рдЕрдЧрд░ рд╣рдо DOM рдХреЛ рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ
div
рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреЗред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ "рд░реЗрдВрдбрд░рдЗрдВрдЯреЛ ()" рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдирд╣реАрдВ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдП рдЧрдП рдереЗ рдФрд░ рдЖрд░рдВрдн рдХрд┐рдП рдЧрдП рдереЗред
рдХреНрд▓рд╛рд╕ рддрд░реАрдХреЗ рдФрд░ рдлрд╝реАрд▓реНрдб, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЗ
рдХрдХреНрд╖рд╛рдПрдВ рдЕрдЪреНрдЫреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдирд╣реАрдВ рднрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рд╡рд░реНрдЧ рдХреНрдпреЛрдВ? - рдЕрдм рдЪрд▓реЛ!
рдЫрджреНрдо рдХреЛрдб рд╣реЛрдиреЗ:
class ClassNameA { object fieldName = "value" }
рдЖрдЗрдП рдХреЛрдб рдХреЛ Enyo рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ:
enyo.kind({name: 'ClassNameA', fieldName: 'value'})
рдЕрдм рд╣рдо рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
var cls_a = new ClassNameA() console.log(cls_a.fieldName)
рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЦреЗрддреЛрдВ рдХрд╛ рдорддрд▓рдм рдереЛрдбрд╝рд╛ рдХрдо рд╣реИ, рддрд░реАрдХреЗ рдХрд╣рд╛рдВ рд╣реИрдВ? - рд╣рд╛рдБ, рд╡рд╣реАрдВ!
рдЫрджреНрдо рдХреЛрдб рд╣реЛрдиреЗ:
class ClassNameA { object method () { return "value" } }
рдЖрдЗрдП рдХреЛрдб рдХреЛ Enyo рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ:
enyo.kind({ name: 'ClassNameA', method: function(){ return 'value' } })
рдЕрдм рд╣рдо рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдХреНрд╖рд╛ рд╡рд┐рдзрд┐ рдЙрдкрд▓рдмреНрдз рд╣реИ:
var cls_a = new ClassNameA() console.log(cls_a.method())
рдареАрдХ рд╣реИ, рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ, рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ ... рд╢рд╛рдпрдж рдПрдХ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ / рд╡рд┐рдзреНрд╡рдВрд╕рдХ рднреА рд╣реИ? - рдмрд┐рд▓реНрдХреБрд▓! рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ 2 рдЯреБрдХрдбрд╝реЗ !!! рд▓реЗрдХрд┐рди, рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред
рдХрд┐рд╕реА рднреА Enyo рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп, рдЗрд╕рдХреА
constructor
рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдпрджрд┐ рдЖрд░рдВрднреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдпрд╣ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
enyo.kind({ name: 'ClassNameC', constructor: function() {
рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рд╡рд┐рдзрд┐ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░) рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, Enyo рдЗрд╕.
this.inherited(arguments)
рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣.
this.inherited(arguments)
рдЙрди рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
enyo.kind({ name: 'ClassNameC', constructor: function() { console.log('my init befor constructor') this.inherited(arguments) console.log('my init after constructor') } })
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕рднреА Enyo рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИ ...
"Enyo.Component" рдЯрд╛рдЗрдк рдХрд░реЗрдВ - рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЬрд╛рдирд╡рд░ "enyo.Control" (рдбрд┐рдлрд╝реЙрд▓реНрдЯ
div
рдХрд╛ рдПрдХ рд╣реИ) рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдЗрд╕рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╣реИрдВ:
- рдирд╛рдо - рдСрдмреНрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдкрд┐рдВрдЧ / рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреНрд╖реЗрддреНрд░
- createComponent / createCompords - рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ
- рд╡рд┐рдзреНрд╡рдВрд╕рдХ - рд╡рд┐рдзрд┐рд╡рддреН рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐рдпрд╛рдБ
- рдорд╛рд▓рд┐рдХ - рд╡рд░реНрддрдорд╛рди рдШрдЯрдХ рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдлрд╝реАрд▓реНрдб
- рдЖрдИрдбреА - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ
- рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рддрд░реАрдХреЗ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХрд╛рд░реНрдп рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реА "enyo.Component" рдЕрдкрдиреЗ "рдмрдЪреНрдЪреЛрдВ" рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ 2 рдФрд░ рддрд░реАрдХреЗ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ:
enyo.kind({ name: 'ClassNameD',
рдирдордХ рдХреНрдпрд╛ рд╣реИ? рд╣рд╛рдБ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ!
"Enyo.Component" рдХреЗ рдЕрдВрджрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "enyo.Control" рдореЗрдВ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдЕрдВрджрд░, рдЖрджрд┐ред
рдЗрд╕ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ? рдЗрд╕ рдкреЗрдбрд╝ рдХреЛ рдбреЛрдо рд╕реЗ рдХреИрд╕реЗ рдмрд╛рдВрдзреЗрдВ? рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ / рд╣рдЯрд╛рддреЗ рд╕рдордп рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдмрд╛рдВрдзреЗрдВ / рд╣рдЯрд╛рдПрдВ? рдЗрд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░реЛ? рд╣рд╛рдБ, рдЪреЗрдХрд░реНрд╕ рдФрд░ рдХрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЖрдкрдХрд╛ рдереЛрдбрд╝рд╛ рдЧреНрд░рд╛рдл!
рдиреНрдпрд╛рдп рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ DOM рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╡рд┐рд▓реЛрдкрди рдФрд░ рдЙрдирдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ / рдмрдирд╛рдирд╛ / рдирд╖реНрдЯ рдХрд░рдирд╛ред рдорд╛рддрд╛-рдкрд┐рддрд╛ рдиреЛрдб рддрдХ рдкрд╣реБрдВрдЪ "рд╕реНрд╡рд╛рдореА" рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдФрд░ рдмрдЪреНрдЪреЗ рдиреЛрдбреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдпрд╣ $ред"
рдмрдВрджред рдкреНрд░рд▓реЗрдЦрди рдХрд╣рддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдкрдХреА рд╡рд╕реНрддреБ "enyo.Component" рдпрд╛ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЗрд╕реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ - рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ред
рдкрд░рд┐рдгрд╛рдо:
enyo.kind({ name: 'ClassNameD', create: function() {
рд╕рдВрджрд░реНрдн
Enyo рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЧрд┐рддреБрдм рд╡рд┐рдХреА рдПрдиреНрдпреЛрдСрдмреНрдЬреЗрдХреНрдЯ рдЬреАрд╡рдирдЪрдХреНрд░ Enyoред рдЧрд┐рддреБрдм рд╡рд┐рдХреА рдПрдиреНрдпреЛenyo.Componentред Enyo рдПрдкреАрдЖрдИenyo.Controlред Enyo рдПрдкреАрдЖрдИ