JavaFX WebView (HTML / JS) - рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЫрд╡рд┐
рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдореВрд▓ UI рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ JavaFX рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред JavaFX рдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдЙрд╕реА рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ JavaFX рдШрдЯрдХ - WebView рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред

рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп - COLT рдЗрдВрдЯрд░рдлрд╝реЗрд╕ - рд╣рдордиреЗ рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрдм рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ HTML рдореЗрдВ рдХреБрдЫ рдпреВрдЖрдИ рдШрдЯрдХ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рдПрдЪрдЯреАрдПрдордПрд▓ / рдЬреЗрдПрд╕-рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХ рдПрдХ рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ, рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕ рдШрдЯрдХ рд╣реИ - рдПрдЪрдмреАрдПрдХреНрд╕ рдпрд╛ рд╕рд┐рд░реНрдл рдкреЗрди, рдЬрд┐рд╕рдореЗрдВ рд╡реЗрдмрд╡реНрдпреВ рдШрдЯрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

JavaFX рдореЗрдВ webkit рдХреЛ рддреБрд░рдВрдд рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ HTML рдХреЛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ


WebView webView = new WebView(); WebEngine engine = webView.getEngine(); engine.load(this.getClass().getResource("html/webview.html").toExternalForm()) 


рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╡реЗрдм рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред

рдЯрд░реНрдирдХреА рд╕рдорд╛рдзрд╛рди рдХреЗ рдЯрди


jQuery, D3 рд╣рдорд╛рд░реЗ рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдо 5 рдорд┐рдирдЯ рдореЗрдВ Google рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдвреВрдВрдврддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдЗрдВрдЯрд░рдиреЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡реЛрдВ рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХреНрд╖рдорддрд╛ рд╕реЗ рднрд░рд╛ рд╣реИред рдФрд░ рд╕рдм рдХреБрдЫ рдкрдмреНрд▓рд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рд╣реИред рдЖрдк рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдЭрд╛рдБрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╕реНрддрд╛


рдЬрд╛рд╡рд╛ рдореЗрдВ, рд╣рдордиреЗ рдЬреЗрдПрд╕ / рдПрдЪрдЯреАрдПрдордПрд▓ рдореЗрдВ рдЬреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕реЗ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдШрдЯрдХ рдкрде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдЗрдВрдЬрди рд▓рд┐рдпрд╛ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ "рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛"ред рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕реНрдорд╛рд░реНрдЯ рдФрд░ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред "рдЯреИрдЧ" рдореЛрдб рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо, рдФрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдпрд╣ рдЕрднреА рднреА рдЖрдкрдХреЛ рдкрд╛рда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред

рдЫрд╡рд┐

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдмрджрд╕реВрд░рдд рд╕реВрдЪреА-рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рд╣рдорд╛рд░реА рдирдИ рдлрд╛рдЗрд▓рд╕реЗрдЯ рд╕рд░рд▓, рдХреЙрдореНрдкреИрдХреНрдЯ, рдЖрдзреБрдирд┐рдХ рд╣реИред рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХреИрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЙрдЧ-рд╡реНрдпреВ рд╣реИред

рдЫрд╡рд┐

рдкрд╣рд▓реЗ, рд╣рдо ListView рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдШрдЯрдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╣рдореЗрдВ рд╕реНрдХрд┐рдирд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реЛ рдЧрдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛, рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдмреНрд▓реЙрдХ, рдШрдЯрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдХрд╛рдлреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреЛрдб рдореЗрдВ рдлреИрд▓рдиреЗ рдХреА рдзрдордХреА рджреАред HTML рдШрдЯрдХ рд╣рд▓реНрдХрд╛ рдФрд░ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ JavaFX DOM рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдШрдЯрдХ рдХрд╛рдлреА рдЙрддреНрдкрд╛рджрдХ рд╣реИред рд╣рдо рд▓реЙрдЧ, рдлрд┐рд▓реНрдЯрд░ рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░ рдШрдЯрдХ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд╕рдм рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред

рд╣рдо рд╕рд┐рд░реНрдл рдЬрд╛рд╡рд╛-рдпреВрдЖрдИ рдореЗрдВ рдЗрддрдиреЗ рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдЬрдЯрд┐рд▓ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рдерд╛ред рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдЖрдк "Google" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╣рд╛рдВ, рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рди рдФрд░ рд╕рд░рд▓ рд╣реИред "рдмрд╛рдЗрдВрдбрд┐рдВрдЧ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдмрд╛рдВрдзрдирд╛ рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рдкрд░рд┐рдЪрд┐рдд рд╣реИ (рд╣рдорд╛рд░рд╛ рдкрд┐рдЫрд▓рд╛ рдЕрдиреБрднрд╡ рдПрдбреЛрдм рдлреНрд▓реЗрдХреНрд╕ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЬрдм рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдорд╛рдирдХ рдорд╛рдорд▓реЛрдВ рд╕реЗ рдкрд░реЗ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо "рд╕рдореАрдХреНрд╖рд╛" рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдЦреЛ рджреЗрддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдирд┐рдореНрди рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИ - рд╣рдо рдЗрд╕реЗ JavaFX рдШрдЯрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╣рдо "рдПрдХ рджреАрд╡рд╛рд░ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ" рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ, рддреЛ рд╣рдо HTML рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд┐рдпрд╛ рд╣реИред

рдХреНрд░реЙрд╕ platfomennost


JavaFX рдореЗрдВ рд╡реЗрдмрд╡реНрдпреВ рдЗрдВрдЬрди рдПрдХ рд╡реЗрдмрдХрд┐рдЯ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдордп рдирд╣реАрдВ рдмрд┐рддрд╛рдпрд╛ред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд▓


рдЬрд╛рд╡рд╛-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛, рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдкреБрд▓ рдЖрдкрдХреЛ HTML рд╕реЗ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЬрд╛рд╡рд╛ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рднреА рдХрд╣рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдХреЛрдб рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:

 private void clear() { JSObject windowObject = (JSObject)webView.getEngine().executeScript("window"); windowObject.call("test", new ArrayList(1, 2, 3)); } 

рдФрд░ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЬреЛ рдбреЗрдЯрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ ArrayList рдЬрд╛рд╡рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ -

 function test(list){ console.log("list.size() - " + list.size();//3 console.log("list.get(0) - " + list;//1 } 

рдЙрджрд╛рд╣рд░рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рдВрдереЗрдЯрд┐рдХреНрд╕, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рддрд░реАрдХреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

Html рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╕реАрдзреЗ рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

 JSObject windowObject = (JSObject) webView.engine.executeScript("window"); windowObject.setMember("app", this); 

рдФрд░ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ -

 app.addData($("my-input").val()); 

рдЕрдзрд┐рдХ рд╕рд╣реА (рд╕реБрд░рдХреНрд╖рд┐рдд) рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд╛рд╡рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ "рдЕрдиреБрдордд" рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

 windowObject.setMember("app", new JSBridge(){ public myMethod(){ MyApp.this.myMethod(); } }); 

рдЬреЗрдПрд╕ "рдЕрд▓рд░реНрдЯ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмрдВрдбрд▓ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдгред рд╣рдореЗрдВ "рд▓реЛрдб" html рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдкреВрд░реНрдг рдЖрд╡реЗрджрди рдЖрд░рдВрднреАрдХрд░рдгред рдЕрдиреНрдп рд╕рднреА рддрд░реАрдХреЗ рдЗрддрдиреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рдереЗред рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣:

 $(function(){ alert("command:ready"); }); 

рдЬрд╛рд╡рд╛ рдореЗрдВ, рд╣рдордиреЗ webview.engine рдХреЗ рд▓рд┐рдП "onAlert" рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЕрдм рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ HTML рд▓реЛрдб рдФрд░ рдЖрд░рдВрднреАрдХреГрдд рд╣реИред

 engine.onAlert = new EventHandler<WebEvent<String>>() { @Override void handle(WebEvent<String> event) { if("command:ready".equals(event.getData())){ //TODO: initialize } } } 

рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ


рд╣рдордиреЗ рдЙрд╕ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ред рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЙрджреНрджреЗрд╢реНрдп-рд╕реА / рдЬрд╛рд╡рд╛) рдкрд░ рд╣рдо рд╡реЗрдмрд╡реНрдпреВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдШрдЯрдХ рднреА рдмрдирд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддреИрдпрд╛рд░ рд╣реЛрдЧреАред

рдЬрд╛рд╡рд╛рдПрдлрдПрдХреНрд╕ рдореЗрдВ HTML / JS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛?


рдкрд╣рд▓рд╛ рд╡рд╛рд▓рд╛ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реЛрдбрд┐рдВрдЧ рдЬреАрд╡рди рдЪрдХреНрд░ред рдкреЗрдЬ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЬреЗрдПрд╕ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рд▓реЗрдЦрди рдПрдХ рддрд░реАрдХрд╛ рд╕реБрдЭрд╛рддрд╛ рд╣реИ - рдЬрд╛рд╡рд╛ рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдЬ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдШрдЯрдирд╛ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдлреА рдЫреЛрдЯрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛, HTML рдкрдХреНрд╖ рдкрд░ "рд▓реЛрдб" рдШрдЯрдирд╛ рдХреЗ рдмрдВрдбрд▓ рдФрд░ рдЬрд╛рд╡рд╛ рдХреА рддрд░рдл "рдЕрд▓рд░реНрдЯ" рдХреЗ рдЕрд╡рд░реЛрдзрди рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред

рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдЦреВрди рдХреЛ рдкреА рдЬрд╛рддреА рд╣реИ, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╡реЗрдмрд╡реНрдпреВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рдореЗрдВ рдХрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЗ рд╕рд╛рде glitches рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреА рдмрдЧ рдХрд╛рдлреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдИ рдФрд░ рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ рдХрд┐ JavaFX рдореЗрдВ рд╡реЗрдмрдХрд┐рдЯ рдЗрдВрдЬрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ - рд╣рдо Platform.runLater () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВред

рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ред рдбрд┐рдмрдЧ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧред
рдХрд╛рдо рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдЬрдм рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдХреЗрд╡рд▓ HTML / JS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдмрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЯреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рдЪрд░рдг рдореЗрдВ, рдЖрдкрдХрд╛ рдХреЛрдб рдмрд╕ рд╕рд╣реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдФрд░ рдЖрдк рддреЗрдЬреА рд╕реЗ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдФрд░ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рдХреБрдЫ рд╕реЗрдХрдВрдб рд╣реИрдВред рдЗрддрдиреЗ рд▓рдВрдмреЗ рднрд╛рд░ рд╕реЗ рдмрдЪрдиреЗ рдФрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдХрд┐рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛?

рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рджреЛ - рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рдХрд╛ "рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ" рдЬреЛрдбрд╝реЗрдВред HTML / CSS / JS рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ - F5 рджрдмрд╛рдпрд╛ - WebView рд╕рд╛рдордЧреНрд░реА рдкреБрдирдГ рд▓реЛрдб рдХреА рдЧрдИ:

 $(document).keydown(function (e) { if(e.keyCode == 116 /*F5*/){ location.reload(); } }); 

рд▓реЗрдХрд┐рди рдПрдХ рддреНрд╡рд░рд┐рдд "рддрд╛рдЬрд╝рд╛" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдореЗрдВ рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдлрд╛рдпрд░рдмрдЧ рд▓рд╛рдЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдЙрдкрд╛рдп рдерд╛ -

 <script type='text/JavaScript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script> 


рдФрд░ рд╣рд╛рдВ, рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдиреЗ "рд╕рд╛рдВрд╕ рд▓реА" рдФрд░ HTML / JS рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╡рдХреЛрдбрд┐рдВрдЧ рдЕрд░реНрдЬрд┐рдд рдХреА, рд╣рдордиреЗ COLT рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП COLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИ - рд╣рдореЗрдВ рдЕрдм рдлрд╛рдпрд░рдмрдЧ рд▓рд╛рдЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЙрдЧ, рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯ, рд░рд┐рдореЛрдЯ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рд▓рд╛рдЗрд╡ рдХреЛрдбрд┐рдВрдЧред рд▓рд╛рдЗрд╡рдХреЛрдбрд┐рдВрдЧ, рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдбрд┐рдмрдЧ рдХреА рдЬрдЧрд╣ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрдЫрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо "рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рдмрдЧ" рднреА рд╕реНрдХреНрд░реВ рдХрд░реЗрдВрдЧреЗред

рдХреИрд╕реЗ рдЬреБрдбрд╝реЗрдВ? рдмрд╕ рдЕрдкрдиреЗ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ

 var url = "http://<address>:<port>/webview.html"; if (location.href != url) { location.href = url } 

рдЬрд╣рд╛рдБ url рд╡рд╣ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ COLT рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкреГрд╖реНрда рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реЗ рдЬрд╛рдирдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╣рдо COLT рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкреЗрдЬ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - "рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝" рдФрд░ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░реЗрдВ - "рд╣рд░реА рдмрд┐рдЬрд▓реА" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЫрд╡рд┐

рдкреЗрдЬ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреБрд▓реЗрдЧрд╛ред рдЗрд╕реЗ рдкреЗрдЬ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдЬреЗрдПрд╕ рдХреЛрдб рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░реЗрдВред рдЕрдм JavaFX рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдПрдВред рд╣рдо рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд▓рд╛рдЗрд╡рдХреЛрдбрд┐рдВрдЧ рдЬрд╛рд╡рд╛рдПрдлрд╝рдПрдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, "рдЙрдиреНрдирдд" рдмреНрд▓реЙрдХ рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рд╛ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рд╕реАрдзреЗ COLT рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд▓реЙрдЧ COLT рд╡рд┐рдВрдбреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рддрд╛рдХрд┐ рдЕрдЧрд▓реА рдмрд╛рд░ рдХреЙрд▓реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рди рдЦреЛрд▓реЗ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдкрд░, рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдХрдВрд╕реЛрд▓ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рд╣рдордиреЗ рдмрд╕ рд╣рдорд╛рд░реЗ рд░рди-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди IDEA рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдХреЙрд▓ рдХреЛ COLT рдХрдВрд╕реЛрд▓ рд▓рдВрдЪрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЕрдм, рдЬрдм рдЖрдк "рд╣рд░реА рднреМрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдПрдЧреАред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓рд╛рдЗрд╡ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП HTML рдХреЗ рдЕрдВрджрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИред рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PhoneGap рдкрд░ рднреА рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ (рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рд╣реА рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИ) рдФрд░ рдЕрдкрдбреЗрдЯ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдФрд░ рдЬрд╣рд╛рдВ рднреА рдХреЛрдИ рд╡реЗрдм рд╡реНрдпреВ рд╣реИ, рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдШрдЯрдирд╛ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдерд╛ред

 //@code-update function live(){ console.log("live update"); } 

@ рдХреЛрдб-рдЕрдкрдбреЗрдЯ рдПрдиреЛрдЯреЗрд╢рди рд╣рдорд╛рд░реЗ рдПрдПрд╕рдЯреА рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╢реНрд░реЛрддрд╛ рдХреЛ рдХреЛрдб рдЕрдкрдбреЗрдЯ рдЗрд╡реЗрдВрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕реЗ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓рд╛ рдХреЛрдб рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ (рдЬреЛ рдХрд┐ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдлрд╛рдпрд░рдмрдЧ рдХрдВрд╕реЛрд▓ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ)ред рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рддреЛ рдЖрдк рдорд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ - рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ "рдЯреНрд░реЗрд╕" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рдЖрдкрдХреЛ "рд░рдирдЯрд╛рдЗрдо" рдореЗрдВ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, рдмрд┐рдирд╛ рдХреЛрдб рдХреЛ рд░реЛрдХреЗрдВ - рдЖрдк рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЧреНрд░реВрд╡реА


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рд╣рдж рддрдХ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░, рдЬреЛ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣рдордиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдпрд╛ рдерд╛ рдФрд░ рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпреВрдЖрдИ рдХреЛ рдЬрд╛рд╡рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд╣рдордиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреНрд░реВрд╡реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдмрд╣реБрдд рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВред рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рджрд╕ рдХреЗ рдПрдХ рдХрд╛рд░рдХ рд╕реЗ рдХрдо рд╣реЛ рдЧрдИ рдереА, рдФрд░ рдПрдХреНрд╕рдПрдордПрд▓ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рднреА рдкрд░рд┐рдорд╛рдг рдХреЗ рдПрдХ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕рд░рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Bindable рдЧреБрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдПрд╕рдЯреА рд░реВрдкрд╛рдВрддрд░рдг, рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдиреЗ рд╣рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдФрд░ рд╕рд░рд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП Bindable рдЖрд╡рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдЬреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред JavaFX рдХреЗ рд▓рд┐рдП Groovy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред

рдпреЛрдЬрдирд╛рдУрдВ


рд╣рдордиреЗ рдЕрдкрдиреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЬрд┐рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╣рдордиреЗ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рд╣рдо PhoneGap + COLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдорд▓рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ JavaFX + HTML + COLT рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

рд╣рдордиреЗ PhoneGap рдХреЛ рдЪреБрдирд╛, рди рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЬрдорд╛ рд╣реЛ рдЪреБрдХреА рдереАрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓рдЧрдиреЗ рд▓рдЧрд╛ред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ PhoneGap рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рднрд╛рдЧ рдХреЛ "рдореВрд▓" рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рдо HTML / JS рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирд╣реАрдВ рдЦреЛрдПрдВрдЧреЗред рд╡реЗ рдмрд╕ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

Codeorchestra.com рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд▓

Source: https://habr.com/ru/post/In198776/


All Articles