10ã®éããèŠã€ããŸãïŒã«ãã2ã®åçã®äžïŒïŒ
Linuxã·ã³ã¯ã©ã€ã¢ã³ããŠã£ã³ããŠïŒ

Webã¯ã©ã€ã¢ã³ãïŒChromeãã©ãŠã¶ãŒïŒã®åããŠã£ã³ããŠïŒ

ãªãWebã¯ã©ã€ã¢ã³ããäœæããã®ã§ããïŒ ããæ°åããèšãã°ããã®ã¿ã¹ã¯ã¯æéã®çµéãšãšãã«èšå®ãããŸããã é·ãéãã€ã³ã¿ãŒããããä»ããäœæ¥ãããžãã¹ã¢ããªã±ãŒã·ã§ã³ã®åææ¡ä»¶ã«ãªã£ãŠããŸãã æåã«ãã·ã³ã¯ã©ã€ã¢ã³ãçšã«ã€ã³ã¿ãŒãããçµç±ã§äœæ¥ããæ©èœãè¿œå ããŸããïŒç«¶åä»ç€Ÿã®äžã«ã¯ãéäžã§åæ¢ãããã®ããããŸãããå察ã«ãã·ã³ã¯ã©ã€ã¢ã³ããæåŠããWebã¯ã©ã€ã¢ã³ãã®å®è£ ã«éå®ããŸããïŒã ãŠãŒã¶ãŒã«æé©ãªã¯ã©ã€ã¢ã³ããªãã·ã§ã³ãéžæããæ©äŒãæäŸããããšã«ããŸããã

ã·ã³ã¯ã©ã€ã¢ã³ãã«ã€ã³ã¿ãŒãããçµç±ã§äœæ¥ããæ©èœãè¿œå ããããšã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®å¯Ÿè©±ã®ã¢ãŒããã¯ãã£ãå®å šã«å€æŽããã倧èŠæš¡ãªãããžã§ã¯ãã§ããã Webã¯ã©ã€ã¢ã³ãã®äœæã¯ããŒãããå§ãŸããŸã£ããæ°ãããããžã§ã¯ãã§ãã
åé¡ã®å£°æ
ãããã£ãŠããããžã§ã¯ãã®èŠä»¶ïŒWebã¯ã©ã€ã¢ã³ãã¯ãã·ã³ã¯ã©ã€ã¢ã³ããšåãããšãè¡ãå¿ èŠããããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã衚瀺ãã
- 1Cã§èšè¿°ãããã¯ã©ã€ã¢ã³ãã³ãŒããå®è¡ãã
1Cã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã¯ãããžã¥ã¢ã«ãšãã£ã¿ãŒã§èšè¿°ãããŠããŸããã宣èšçã«ããã¯ã»ã«ããšã®èŠçŽ ã®é 眮ã¯ãããŸããã çŽ30çš®é¡ã®ã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ã䜿çšãããŸã-ãã¿ã³ãå ¥åãã£ãŒã«ãïŒããã¹ããããžã¿ã«ãæ¥ä»/æå»ïŒããªã¹ããããŒãã«ããã£ãŒããªã©ã
1Cã®ã¯ã©ã€ã¢ã³ãã³ãŒãã«ã¯ããµãŒããŒåŒã³åºããããŒã«ã«ãªãœãŒã¹ïŒãã¡ã€ã«ãªã©ïŒã®æäœãå°å·ãªã©ãå«ãŸããŸãã
ã·ã³ã¯ã©ã€ã¢ã³ãïŒWebçµç±ã§äœæ¥ããŠããå ŽåïŒãšWebã¯ã©ã€ã¢ã³ãã®äž¡æ¹ããåãWebãµãŒãã¹ã®ã»ããã䜿çšããŠ1Cã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãšéä¿¡ããŸãã ãã¡ãããã¯ã©ã€ã¢ã³ãã®å®è£ ã¯ç°ãªããŸããã·ã³ã¯ã©ã€ã¢ã³ãã¯C ++ã§èšè¿°ãããWebã¯ã©ã€ã¢ã³ãã¯JavaScriptã§èšè¿°ãããŠããŸãã
ã¡ãã£ãšããæŽå²
Webã¯ã©ã€ã¢ã³ãäœæãããžã§ã¯ãã¯2006幎ã«éå§ããã5人ã®ããŒã ãåå ããŸããïŒå¹³åïŒã ãããžã§ã¯ãã®ç¹å®ã®æ®µéã§ãéçºè ã¯ç¹å®ã®æ©èœïŒã¹ãã¬ããã·ãŒãããã¥ã¡ã³ããå³ãªã©ïŒã®å®è£ ã«é¢äžããŸããã ååãšããŠããããã¯ã·ã³ã¯ã©ã€ã¢ã³ãã§ãã®æ©èœãå®è¡ããéçºè ãšåãã§ããã ã€ãŸã éçºè ã¯ã以åã«C ++ã§äœæããJavaScriptã³ã³ããŒãã³ããæžãçŽããŸããã
åœåããã2ã€ã®èšèªéã®æŠå¿µçãªéãã倧ãããããC ++ã·ã³ã¯ã©ã€ã¢ã³ãã³ãŒãããJavaScript Webã¯ã©ã€ã¢ã³ããžã®èªåïŒå°ãªããšãéšåçãªïŒå€æã®ã¢ã€ãã¢ãæåŠããŸããã Webã¯ã©ã€ã¢ã³ãã¯JavaScriptã§ãŒãããäœæãããŸããã
ãããžã§ã¯ãã®æåã®å埩ã§ã¯ãWebã¯ã©ã€ã¢ã³ãã¯åã蟌ã¿1Cèšèªã®ã¯ã©ã€ã¢ã³ãã³ãŒããJavaScriptã«çŽæ¥å€æããŸããã ã·ã³ã¯ã©ã€ã¢ã³ãã®åäœã¯ç°ãªããŸã-çµã¿èŸŒã¿ã®1Cèšèªã®ã³ãŒãããã€ãã³ãŒãã«ã³ã³ãã€ã«ããããã®ãã€ãã³ãŒããã¯ã©ã€ã¢ã³ãã§è§£éãããŸãã ãã®åŸãWebã¯ã©ã€ã¢ã³ãã¯åãããšãå§ããŸããããŸããçç£æ§ãåäžãã次ã«ãã·ã³ã¯ã©ã€ã¢ã³ããšWebã¯ã©ã€ã¢ã³ãã®ã¢ãŒããã¯ãã£ãçµ±åã§ããŸããã
1Cã®æåã®ããŒãžã§ã³ïŒWebã¯ã©ã€ã¢ã³ãããµããŒããããšã³ã¿ãŒãã©ã€ãºãã©ãããã©ãŒã ã¯2009幎ã«ãªãªãŒã¹ãããŸããã åœæã®Webã¯ã©ã€ã¢ã³ãã¯ãInternet ExplorerãšFirefoxã®2ã€ã®ãã©ãŠã¶ãŒããµããŒãããŠããŸããã æåã®èšç»ã«ã¯Operaã®ãµããŒããå«ãŸããŠããŸããããOperaã®ã¢ããªã±ãŒã·ã§ã³çµäºãã³ãã©ãŒã§ã®å æã§ããªãåé¡ã®ããã«ïŒã¢ããªã±ãŒã·ã§ã³ãéããŠããããšã100ïŒ ç¢ºå®ã«è¿œè·¡ã§ããããã®æç¹ã§1Cã¢ããªã±ãŒã·ã§ã³ãµãŒããŒããåææé ãå®è¡ããŸããïŒãããã®èšç»ã¯æŸæ£ãããªããã°ãªããŸããã§ããã
ãããžã§ã¯ãæ§é
åèšã§ã1CïŒEnterpriseãã©ãããã©ãŒã ã«ã¯ãJavaScriptã§èšè¿°ããã4ã€ã®ãããžã§ã¯ãããããŸãã
- WebToolsã¯ãä»ã®ãããžã§ã¯ãã§äœ¿çšãããå ±æã©ã€ãã©ãªã§ãïŒããã«ã¯Google Closure Libraryãå«ãŸããŠããŸã ïŒã
- æžåŒèšå®ãããããã¥ã¡ã³ãã³ã³ãããŒã«ïŒã·ã³ã¯ã©ã€ã¢ã³ããšWebã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§JavaScriptã§å®è£ ïŒ
- ã¹ã±ãžã¥ãŒã©å¶åŸ¡ïŒã·ã³ã¯ã©ã€ã¢ã³ããšWebã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§JavaScriptã§å®è£ ïŒ
- Webã¯ã©ã€ã¢ã³ã
åãããžã§ã¯ãã®æ§é ã¯ãJavaãããžã§ã¯ãïŒãŸãã¯.NETãããžã§ã¯ã-ããè¿ãïŒã®æ§é ã«äŒŒãŠããŸãã åå空éããããååå空éã¯åå¥ã®ãã©ã«ããŒã«ãããŸãã ãã©ã«ããŒå ã«ã¯ãåå空éãã¡ã€ã«ãšã¯ã©ã¹ããããŸãã Webã¯ã©ã€ã¢ã³ããããžã§ã¯ãã«ã¯çŽ1000åã®ãã¡ã€ã«ããããŸãã
æ§é çã«ãWebã¯ã©ã€ã¢ã³ãã¯å€§ãã次ã®ãµãã·ã¹ãã ã«åããããŸãã
- ãããŒãžãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹
- äžè¬çãªã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒã·ã¹ãã ã¡ãã¥ãŒãããã«ïŒ
- çŽ30ã®ã³ã³ãããŒã«ïŒãã¿ã³ãããŸããŸãªã¿ã€ãã®å ¥åãã£ãŒã«ã-ããã¹ããããžã¿ã«ãæ¥ä»/æå»ãªã©ãããŒãã«ããªã¹ãããã£ãŒããªã©ïŒãå«ã管çãã©ãŒã ã®ã€ã³ã¿ãŒãã§ã€ã¹
- ã¯ã©ã€ã¢ã³ãã®éçºè ãå©çšã§ãããªããžã§ã¯ãã¢ãã«ïŒåèš400çš®é¡ä»¥äžïŒç®¡çãããã€ã³ã¿ãŒãã§ã€ã¹ã®ãªããžã§ã¯ãã¢ãã«ãããŒã¿æ§æèšå®ãæ¡ä»¶ä»ãèšèšãªã©ïŒ
- 1Céèš³
- ãã©ãŠã¶æ¡åŒµïŒJavaScriptã§ãµããŒããããŠããªãæ©èœã«äœ¿çšïŒ
- æå·åã䜿çšãã
- ãã¡ã€ã«ãæäœãã
- ã·ã³ã¯ã©ã€ã¢ã³ããšWebã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§äœ¿çšã§ããå€éšã³ã³ããŒãã³ãã®ãã¯ãããžãŒ
éçºæ©èœ
JavaScriptã§äžèšã®ãã¹ãŠãå®è£ ããã®ã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããã ãããã1C Webã¯ã©ã€ã¢ã³ãã¯ãJavaScriptã§èšè¿°ãããæ倧ã®ã¯ã©ã€ã¢ã³ãåŽã¢ããªã±ãŒã·ã§ã³ã®1ã€ã§ãããçŽ450,000è¡ã§ãã Webã¯ã©ã€ã¢ã³ãã³ãŒãã§ã¯ããã®ãããªå€§èŠæš¡ãããžã§ã¯ãã§ã®äœæ¥ãç°¡çŽ åãããªããžã§ã¯ãæåã®ã¢ãããŒããç©æ¥µçã«äœ¿çšããŠããŸãã
ã¯ã©ã€ã¢ã³ãã³ãŒãã®ãµã€ãºãæå°åããããã«ããŸãç¬èªã®é£èªåããŒã«ã䜿çšãããã©ãããã©ãŒã ããŒãžã§ã³8.3.6ïŒ2014幎10æïŒããGoogle Closure Compilerã®äœ¿çšãéå§ããŸããã æ°åã§äœ¿çšããå Žåã®å¹æã¯ãé£èªååŸã®Webã¯ã©ã€ã¢ã³ããã¬ãŒã ã¯ãŒã¯ã®ãµã€ãºã§ãã
- èªåã®é£èªåããŒã«-1556 kb
- Google Closure Compiler-1073 kb
Google Closure Compilerã䜿çšããããšã§ãåœç€Ÿã®é£èªåããŒã«ãšæ¯èŒããŠWebã¯ã©ã€ã¢ã³ãã®ããã©ãŒãã³ã¹ã30ïŒ åäžããŸããã ããã«ãã¢ããªã±ãŒã·ã§ã³ãæ¶è²»ããã¡ã¢ãªéã¯15ã25ïŒ æžå°ããŸããïŒãã©ãŠã¶ã«ãã£ãŠç°ãªããŸãïŒã
Google Closure Compilerã¯ãªããžã§ã¯ãæåã³ãŒãã§éåžžã«ããŸãæ©èœãããããWebã¯ã©ã€ã¢ã³ãã®å¹çã¯å¯èœãªéãé«ããªããŸãã Closure Compilerã¯ç§ãã¡ã®ããã«ããã€ãã®è¯ãããšãããŸãïŒ
- ãããžã§ã¯ãã®ãã«ã段éã§ã®éçåãã§ãã¯ïŒJSDocã¢ãããŒã·ã§ã³ã§ã³ãŒããã«ããŒããŠããå ŽåïŒã çµæã¯éçåä»ãã§ãããC ++ã§ã®åä»ãã«éåžžã«è¿ãã¬ãã«ã§ãã ããã«ããããããžã§ã¯ãã®ã³ã³ãã€ã«æ®µéã§ããªãã®å²åã®ãšã©ãŒããã£ããã§ããŸãã
- é£èªåã«ããã³ãŒããµã€ãºã®åæž
- ããšãã°ã次ã®ãããªå®è¡å¯èœã³ãŒãã®æé©åã®æ°ïŒ
- ã€ã³ã©ã€ã³ã«ãã¯ã¢ããé¢æ°ã JavaScriptã§é¢æ°ãåŒã³åºãããšã¯éåžžã«é«äŸ¡ãªæäœã§ãããäžè¬çã«äœ¿çšãããå°ããªã¡ãœãããã€ã³ã©ã€ã³ã§çœ®æãããšãã³ãŒããå€§å¹ ã«é«éåãããŸãã
- ã³ã³ãã€ã«æ®µéã§ã®å®æ°ã®ã«ãŠã³ãã åŒãå®æ°ã«äŸåããå Žåãå®æ°ã®å®éã®å€ãããã«ä»£å ¥ãããŸã
Webã¯ã©ã€ã¢ã³ãã®éçºç°å¢ãšããŠãWebStormã䜿çšããŸãã
ã³ãŒãåââæã«ã¯ãéçã³ãŒãã¢ãã©ã€ã¶ãŒãçµ±åããSonarQubeã䜿çšããŸãã ã¢ãã©ã€ã¶ãŒã®å©ããåããŠãJavaScriptã§ãœãŒã¹ã³ãŒãã®å質ã®äœäžãç£èŠãããããé²æ¢ããããšããŸãã

ã©ã®ã¿ã¹ã¯ã解決ããŸããã/解決ããŸãã
ãããžã§ã¯ãã®å®è£ äžã«ã解決ããªããã°ãªããªãããã€ãã®èå³æ·±ãã¿ã¹ã¯ã«çŽé¢ããŸããã
ãµãŒããŒãšãŠã£ã³ããŠéã§ã®éä¿¡
ãœãŒã¹ã³ãŒããé£èªåãããšãã·ã¹ãã ã«å¹²æžããå ŽåããããŸãã Webã¯ã©ã€ã¢ã³ãã®å®è¡å¯èœã³ãŒãã®å€éšã®ã³ãŒãã¯ãé£èªåã®ããã«ãå®è¡å¯èœã³ãŒããæåŸ ãããã®ãšã¯ç°ãªãé¢æ°åãšãã©ã¡ãŒã¿ãŒåãæã£ãŠããå ŽåããããŸãã ç§ãã¡ã®å€éšã³ãŒãã¯æ¬¡ã®ãšããã§ãã
- ããŒã¿æ§é ãšããŠãµãŒããŒããéä¿¡ãããã³ãŒã
- å¥ã®ã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠã®ã³ãŒã
ãµãŒããŒãšå¯Ÿè©±ããéã®é£èªåãé¿ããããã«ã@ exposeã¿ã°ã䜿çšããŸãã
/**
* @constructor
* @extends {Base.SrvObject}
*/
Srv.Core.GenericException = function ()
{
/**
* @type {string}
* @expose
*/
this.descr;
/**
* @type {Srv.Core.GenericException}
* @expose
*/
this.inner;
/**
* @type {string}
* @expose
*/
this.clsid;
/**
* @type {boolean}
* @expose
*/
this.encoded;
}
(, ).
/**
* DropDownWindow
*
* @interface
* @struct
*/
WebUI.IDropDownWindowExp = function(){}
/**
* 1
*
* @param {boolean} isForward
* @param {boolean} checkOnly
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){}
/**
*
*
* @param {boolean} isFirst
* @param {boolean} checkOnly
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){}
/**
* @return {boolean}
* @expose
*/
WebUI.IDropDownWindowExp.prototype.selectValue = function (){}
We used Virtual DOM before it became mainstream)
, UI, , DOM . Virtual DOM UI. DOM , , DOM-.
-
- , (CSS ..). , ( ) , CSS.

( Java C++), , Selenium.
â , , -. , «1», -. â . - . - , â . .
25 . (, ) . .

Selenium ; , - â Selenium , , .. . , .
( Selenium) . «1:». ( ) . â .
; Dynatrace AJAX Edition DynaTrace. , . ( ) â , . JavaScript, DOM .. / â , .
, Google Closure Compiler - inline- (, ). , .
, , JavaScript, :
. â , ( , JavaScript Chrome Firefox), â , . , 3 â Windows, Linux MacOS. 1: 1. - .
Safari NPAPI, Internet Explorer â ActiveX. Microsoft Edge , - .
- â . - , , -.
â , , . , â . - . ( ) , - ( ). .