{"id":246031,"date":"2014-12-17T12:18:02","date_gmt":"2014-12-17T08:18:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=246031"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=246031","title":{"rendered":"<span class=\"post_title\">\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 DevExpress 14.2!<\/span>"},"content":{"rendered":"<div class=\"content html_format\">     \t\u0411\u043b\u0438\u0437\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0435\u0446 \u0433\u043e\u0434\u0430, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/www.devexpress.com\/\">DevExpress<\/a>. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0435\u043b\u0438\u0437 14.2 \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0438\u0441\u044c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0438 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u044f\u0436\u0435\u043b\u043e, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 <a href=\"https:\/\/www.devexpress.com\/Subscriptions\/New-2014.xml\">\u0437\u0434\u0435\u0441\u044c<\/a>, \u0430 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043b\u0438\u0448\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445. \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0435 \u0445\u043e\u0447\u0435\u0442 \u0434\u043e\u043b\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u044c, \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u043e\u043b\u0438\u043a:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"\/\/www.youtube.com\/embed\/jYt-fDD6XY0?wmode=opaque\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0436\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445.  <\/p>\n<ul>\n<li><a href=\"#WinForms\">WinForms<\/a><\/li>\n<li><a href=\"#WPF\">WPF<\/a><\/li>\n<li><a href=\"#ASP\">ASP.NET WebForms + MVC<\/a><\/li>\n<li><a href=\"#Dashboard\">Dashboard<\/a><\/li>\n<li><a href=\"#XAF\">eXpressApp Framework<\/a><\/li>\n<li><a href=\"#CodeRush\">CodeRush<\/a><\/li>\n<li><a href=\"#DevExtreme\">DevExtreme &#038; HTML5<\/a><\/li>\n<li><a href=\"#TestCafe\">TestCafe<\/a><\/li>\n<\/ul>\n<p><a name=\"habracut\"><\/a><br \/>  <a name=\"WinForms\"><\/a>  <\/p>\n<h4>WinForms<\/h4>\n<p>  <i>Rating Control<\/i> \u0438 <i>TimeSpan Editor<\/i> \u2014 \u0434\u0432\u0430 \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f WinForms. <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/5a1\/2e6\/412\/5a12e6412f504131995ba5b6587fc82a.png\" align=\"right\"\/> \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0447\u0435\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0430 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ff1\/7b3\/9a8\/ff17b39a85c24027ae7ba73c7b56337e.png\"\/><\/p>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 <i>Data Grid<\/i> \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u043c\u0435\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0432\u0438\u0434\u0435 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a, \u043d\u043e \u0438 \u0432 \u0432\u0438\u0434\u0435 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/10\/winforms-grid-control-new-tile-view-coming-soon-in-v14-2.aspx\">TileView<\/a><\/i>, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/084\/656\/264\/0846562640c040d68a8390d7fe511ec8.png\"\/><\/p>\n<p>  \u0412 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 <i>Spreadsheet <\/i>\u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u044b\u0432\u043e\u0434\u0430 \u043e\u0431\u0449\u0435\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0433\u0440\u0443\u043f\u043f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a LINEST, LOGEST, TREND \u0438 \u0434\u0440\u0443\u0433\u0438\u0445. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043a\u0430\u043a <i><a href=\"https:\/\/community.devexpress.com\/blogs\/ctodx\/archive\/2014\/11\/25\/winforms-and-wpf-spreadsheet-mail-merge-comments-and-more-coming-soon-in-v14-2.aspx\">Data Source Wizard<\/a><\/i>, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <i>Data Source<\/i> \u0442\u0440\u0435\u0445 \u0432\u0438\u0434\u043e\u0432 \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435, \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u0447\u0435\u0442\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/0af\/33b\/098\/0af33b0981574567a7d8f8ce446bfe2b.png\"\/><\/p>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 <i>Layout Control<\/i> \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 <a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/19\/winforms-layout-control-flow-layout-and-printing-support-coming-soon-in-v14-2.aspx\">\u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c<\/a>, \u0442\u043e \u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/705\/80c\/d6e\/70580cd6e475473c8d0ca32b846d4d40.gif\"\/><\/p>\n<p>  <a name=\"WPF\"><\/a>  <\/p>\n<h4>WPF<\/h4>\n<p>  \u0412 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b <i><a href=\"https:\/\/community.devexpress.com\/blogs\/donw\/archive\/2014\/11\/12\/winforms-data-grid-excel-inspired-conditional-formatting-coming-soon-in-v14-2.aspx\">WinForms Data Grid<\/a><\/i> \u0438 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/17\/wpf-grid-control-cell-merging-and-more-coming-soon-in-v14-2.aspx\">WPF Data Grid<\/a><\/i> \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/2c9\/dcb\/eb5\/2c9dcbeb530149f0bbe854de15c8bf92.png\"\/><\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u044f\u0447\u0435\u0435\u043a \u0432 \u0440\u044f\u0434\u0430\u0445 \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 <i>Date-Time Column Filter<\/i>.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b84\/0cf\/321\/b840cf3212624215aae1bb944ac81531.png\"\/><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430, \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c <i>Popup Menu<\/i> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/10\/wpf-onenote-inspired-radial-menu-coming-soon-in-v14-2.aspx\">Radial Menu<\/a><\/i>.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/8d3\/d4f\/369\/8d3d4f36942e4266b87fdaa807700a9b.png\"\/><\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430. \u0412 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 <i>Map Conrol<\/i> \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0436\u0438\u043c\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0439 (<i>Spherical Mercator<\/i>, <i>Equal Area<\/i>, <i>Elliptical Mercator<\/i> \u0438 \u0434\u0440\u0443\u0433\u0438\u0435). <i><a href=\"https:\/\/community.devexpress.com\/blogs\/seth\/archive\/2014\/11\/17\/winforms-and-wpf-mini-maps-coming-soon-in-v14-2.aspx\">Map Preview<\/a><\/i> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043b\u0435\u0433\u043a\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435 \u0432 \u0446\u0435\u043b\u043e\u043c.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/64e\/9ae\/336\/64e9ae3366934d81a5275ed7b95e82c7.png\"\/><\/p>\n<p>  <a name=\"ASP\"><\/a>  <\/p>\n<h4>ASP.NET WebForms + MVC<\/h4>\n<p>  \u041d\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/aspnet\/archive\/2014\/11\/12\/asp-net-word-inspired-rich-text-editor-preview-release-coming-soon.aspx\">Rich Text Editor<\/a><\/i> (\u0432 \u043f\u0440\u0435\u0432\u044c\u044e \u0432\u0435\u0440\u0441\u0438\u0438) \u0438\u043c\u0435\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0443\u044e \u043b\u0438\u043d\u0435\u0439\u043a\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0439 \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0423 \u043d\u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b <i>Ribbon<\/i>, <i>Context Menu<\/i>, <i>Dialogs<\/i>, <i>Horizontal Ruler<\/i>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (docx, rtf, txt, xml, odt, epub, mht, doc).<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/e19\/c0b\/55e\/e19c0b55e91248fa99358275f1e6870f.png\"\/><\/p>\n<p>  <i>Spreadsheet <\/i>\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f <a href=\"https:\/\/community.devexpress.com\/blogs\/aspnet\/archive\/2014\/11\/25\/asp-net-spreadsheet-printing-protection-chart-customization-and-more-coming-soon-in-v14-2.aspx\">\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/a> \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u044b, \u0433\u0434\u0435 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u044f\u0447\u0435\u0439\u043a\u0438, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430 \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0444\u043e\u0440\u043c\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/cc8\/621\/e94\/cc8621e94e754b38b751d7e7298fb93c.png\"\/><\/p>\n<p>  \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0442\u0430\u043b \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c, \u043a\u0430\u043a \u043f\u0435\u0447\u0430\u0442\u044c \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438 \u043f\u043e\u0438\u0441\u043a \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0430\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043d\u043e\u0432\u044b\u043c \u043e\u043f\u0446\u0438\u044f\u043c \u0438 \u0442\u0438\u043f\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ea2\/301\/023\/ea230102309f4d298b7f9fa0ca313a77.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/aspnet\/archive\/2014\/11\/19\/asp-net-data-grid-enhancements-coming-soon-in-v14-2.aspx\">GridView<\/a><\/i> \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0433\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043a\u0440\u043e\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c \u0441 \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/958\/ca5\/b39\/958ca5b3906d4996bf2b7bb2dbf49fcc.gif\"\/><\/p>\n<p>  <a name=\"Dashboard\"><\/a>  <\/p>\n<h4>Dashboard<\/h4>\n<p>  <a href=\"https:\/\/community.devexpress.com\/blogs\/seth\/archive\/2014\/11\/19\/net-dashboard-filter-elements-amp-element-grouping-coming-soon-in-v14-2.aspx\">\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a> \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Dashboard \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u0430\u043a <i>ComboBox<\/i>, <i>TreeView<\/i>, <i>RadioGroup <\/i>\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/23b\/8e7\/2be\/23b8e72be2764ad8bcf2e76c0929f2b7.png\"\/><\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f <a href=\"https:\/\/community.devexpress.com\/blogs\/seth\/archive\/2014\/11\/26\/meaningful-dashboard-level-coloring-color-binding-and-cross-platform-palette-coming-soon-in-v14-2.aspx\">\u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0446\u0432\u0435\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/a>. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0446\u0432\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/d66\/00f\/0a5\/d6600f0a5975448da591fd9c83dc6d98.png\"\/><\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Dashboard \u0441\u0434\u0435\u043b\u0430\u044e\u0442 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 API \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u043b\u043e\u043a\u043e\u0432 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/265\/99b\/76f\/26599b76f5004abaad1a15454430070f.gif\"\/><\/p>\n<p>  <a name=\"XAF\"><\/a>  <\/p>\n<h4>eXpressApp Framework (XAF)<\/h4>\n<p>  \u0418\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u201c\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u201d. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0442\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u044b \u043e\u0442 \u043d\u0435\u0441\u0430\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0430 \u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0438\u043b\u0438 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438). <\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ded\/eae\/930\/dedeae9307e5491da6bbb01d9a60677f.png\"\/><\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0444\u043e\u0440\u043c \u0434\u043b\u044f WinForms, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c <a href=\"https:\/\/documentation.devexpress.com\/#Xaf\/CustomDocument2618\">\u0433\u0438\u0431\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c <i>Ribbon<\/i><\/a> \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0434\u043b\u044f XAF \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/312\/dc2\/a5e\/312dc2a5e47a48c398f14ae81f60e51d.png\"\/><\/p>\n<p>  \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 <i>Data Grid<\/i> \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0430\u0441\u044c \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0441\u043f\u0438\u0441\u043a\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u043c\u0443 <a href=\"https:\/\/documentation.devexpress.com\/#Xaf\/CustomDocument3544\">\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/39f\/014\/587\/39f014587505469f9be8b6c568e95441.png\"\/><\/p>\n<p>  \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <i>ASP.NET Report Designer<\/i> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <i>Reports<\/i> \u043c\u043e\u0434\u0443\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0447\u0435\u0442\u044b \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/c50\/4e9\/886\/c504e9886e8048ddbb5f4d7456c607ba.png\"\/><\/p>\n<p>  <a name=\"CodeRush\"><\/a>  <\/p>\n<h4>CodeRush<\/h4>\n<p>  \u0411\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u0438 \u0432 CodeRush. \u042d\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u043a\u043e\u0434\u0430, \u0442\u0430\u043a \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <i>Intellisence<\/i> \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u2014 <i><a href=\"https:\/\/community.devexpress.com\/blogs\/markmiller\/archive\/2014\/11\/21\/here-s-your-game-changer-for-2014-intellirush-in-coderush-14-2.aspx\">IntelliRush<\/a><\/i>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u0435\u043d \u0438 \u0443\u0434\u043e\u0431\u0435\u043d, \u0447\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/61c\/d9e\/b0a\/61cd9eb0a00c48199bb00ff106bb1113.gif\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043c\u043d\u043e\u0433\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u0434\u043e\u043c, \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430, <i>debug<\/i> \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/51c\/c2e\/a22\/51cc2ea2217c464cb6ebc3f1ef5a8b96.png\"\/><\/p>\n<p>  <a name=\"DevExtreme\"><\/a>  <\/p>\n<h4>DevExtreme &#038; HTML5<\/h4>\n<p>  \u0411\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0436\u0435\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u0432 DevExtreme (<i>TreeView<\/i>, <i>Accordion<\/i>, <i>Polar Chart<\/i> \u0438 \u0434\u0440\u0443\u0433\u0438\u0435).<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ad2\/f3f\/24d\/ad2f3f24d4c544cbae0f37316a698dda.gif\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 <i>Data Grid<\/i> \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0438\u0435 <a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/19\/html5-data-grid-master-detail-input-validation-and-more-coming-soon-in-v14-2.aspx\">\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/a>, \u043a\u0430\u043a \u043f\u043e\u0434\u0441\u0447\u0435\u0442 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f, \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <i>master-detail<\/i> \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/8a7\/b9b\/795\/8a7b9b79524045508e2eadd7581bc7f4.png\"\/><\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 iOS 8 \u0438 Android 5 \u043a\u0430\u043a \u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0442\u0435\u043c\u0430\u0445, \u0442\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 Visual Studio \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432 Visual Studio \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430 <i>PhoneGap Build<\/i>.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/5d7\/92e\/23b\/5d792e23b48a42c5ab0aafc05873cef0.png\"\/><\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f <a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/17\/html-5-input-validation-and-keyboard-support-coming-soon-in-v14-2.aspx\">\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438<\/a> \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u043c\u043e\u0449\u043d\u044b\u043c API, \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/06f\/474\/4ab\/06f4744ab52142c181d1121486baa5b8.png\"\/><\/p>\n<p>  <a name=\"TestCafe\"><\/a>  <\/p>\n<h4>TestCafe<\/h4>\n<p>  \u0412 \u0441\u043a\u043e\u0440\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u0439\u0434\u0435\u0442 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 TestCafe, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u0432 \u0441\u0435\u0431\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 <a href=\"https:\/\/community.devexpress.com\/blogs\/thinking\/archive\/2014\/11\/25\/testcafe-new-test-recorder-and-more-coming-soon.aspx\">\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430<\/a>. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <i>Recorder<\/i> \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0430\u0441\u0441\u0435\u0440\u0442\u044b, \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0448\u0430\u0433\u0438 \u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u0448\u0430\u0433\u043e\u0432, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0433\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/521\/aa0\/4d9\/521aa04d9ae547dc8a5a0c1b5f92bbf9.png\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u0440\u043e\u0441\u0441-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0430 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0441\u0430\u043c\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435. <\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043b\u0438\u0448\u044c \u201c\u0432\u0435\u0440\u0445\u0443\u0448\u043a\u0443 \u0430\u0439\u0441\u0431\u0435\u0440\u0433\u0430\u201d, \u0430 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/www.devexpress.com\/Subscriptions\/New-2014.xml\">\u0442\u0443\u0442<\/a>. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0443\u0434\u0438\u0442\u044c \u0441\u0430\u043c\u0438, \u0430 \u043c\u044b \u0440\u0430\u0434\u044b \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435.      \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/devexpress\/blog\/246031\/\"> http:\/\/habrahabr.ru\/company\/devexpress\/blog\/246031\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">     \t\u0411\u043b\u0438\u0437\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0435\u0446 \u0433\u043e\u0434\u0430, \u0430 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/www.devexpress.com\/\">DevExpress<\/a>. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0435\u043b\u0438\u0437 14.2 \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0438\u0441\u044c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0438 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0442\u044f\u0436\u0435\u043b\u043e, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 <a href=\"https:\/\/www.devexpress.com\/Subscriptions\/New-2014.xml\">\u0437\u0434\u0435\u0441\u044c<\/a>, \u0430 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043b\u0438\u0448\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445. \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0435 \u0445\u043e\u0447\u0435\u0442 \u0434\u043e\u043b\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u044c, \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u043e\u043b\u0438\u043a:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"\/\/www.youtube.com\/embed\/jYt-fDD6XY0?wmode=opaque\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0436\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445.  <\/p>\n<ul>\n<li><a href=\"#WinForms\">WinForms<\/a><\/li>\n<li><a href=\"#WPF\">WPF<\/a><\/li>\n<li><a href=\"#ASP\">ASP.NET WebForms + MVC<\/a><\/li>\n<li><a href=\"#Dashboard\">Dashboard<\/a><\/li>\n<li><a href=\"#XAF\">eXpressApp Framework<\/a><\/li>\n<li><a href=\"#CodeRush\">CodeRush<\/a><\/li>\n<li><a href=\"#DevExtreme\">DevExtreme &#038; HTML5<\/a><\/li>\n<li><a href=\"#TestCafe\">TestCafe<\/a><\/li>\n<\/ul>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-246031","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/246031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=246031"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/246031\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=246031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=246031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=246031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}