{"id":60659,"date":"2018-06-14T09:13:15","date_gmt":"2018-06-14T00:13:15","guid":{"rendered":"https:\/\/www.softantenna.com\/wp\/?p=60659"},"modified":"2018-06-14T09:16:40","modified_gmt":"2018-06-14T00:16:40","slug":"office-in-javascript","status":"publish","type":"post","link":"https:\/\/softantenna.com\/blog\/office-in-javascript\/","title":{"rendered":"Microsoft\u30a8\u30f3\u30b8\u30cb\u30a2\u3001\u300cOffice\u3092\u5b8c\u5168\u306bJavaScript\u3067\u66f8\u304d\u76f4\u3057\u305f\u300d\u3068\u30c4\u30a4\u30fc\u30c8\u3057\u3066\u708e\u4e0a"},"content":{"rendered":"<p><img decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/softantenna.com\/blog\/wp-content\/uploads\/2018\/06\/pexels-photo-270815.jpeg\" alt=\"Pexels photo 270815\" title=\"pexels-photo-270815.jpeg\" border=\"0\" width=\"1280\" height=\"857\" \/><\/p>\n<p>Microsoft\u306e\u958b\u767a\u8005\u304c\u3001Office\u3092\u5b8c\u5168\u306bJavaScript\u3067\u66f8\u304d\u76f4\u3057\u305f\u3068\u30c4\u30a4\u30fc\u30c8\u3057\u305f\u3053\u3068\u304b\u3089\u9a12\u52d5\u304c\u5dfb\u304d\u8d77\u3053\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u5224\u660e\u3057\u307e\u3057\u305f(<a href=\"https:\/\/mspoweruser.com\/no-microsoft-is-not-rewriting-office-in-javascript\/\">MSPoweruser<\/a>)\u3002<\/p>\n<p>\u554f\u984c\u306e\u767a\u8a00\u3092\u884c\u3063\u305f\u306e\u306f\u3001Microsoft Web Platform\u306eTechnical Program Manager\u3067\u3042\u308bSean Thomas Larkin\u6c0f\u3067\u3001\u300cOffice 365\u306e\u5168\u3066\u306f\u3001JavaSript\u3068\u547c\u3070\u308c\u308b\u5c0f\u3055\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u8a00\u8a9e\u3067\u5b8c\u5168\u306b\u66f8\u304d\u76f4\u3055\u308c\u307e\u3057\u305f\u300d\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b<a href=\"https:\/\/twitter.com\/TheLarkInn\/status\/1006746626617008128\">\u30c4\u30a4\u30fc\u30c8<\/a>\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"ja\">\n<p lang=\"en\" dir=\"ltr\">(Ive never been able to say this yet)<br \/>&#x1f64b;Well Actually!&#x1f64b;<\/p>\n<p>All of Office 365 is (almost finished) being completely rewritten in this little scripting language called <a href=\"https:\/\/twitter.com\/hashtag\/JavaScript?src=hash&amp;ref_src=twsrc%5Etfw\">#JavaScript<\/a>.<\/p>\n<p>And Skype<br \/>And Microsoft Teams<br \/>And <a href=\"https:\/\/twitter.com\/code?ref_src=twsrc%5Etfw\">@Code<\/a><br \/>And all of <a href=\"https:\/\/twitter.com\/MSEdgeDev?ref_src=twsrc%5Etfw\">@MSEdgeDev<\/a> Debug Protocol (instead of C++)<\/p>\n<p>nbd <a href=\"https:\/\/t.co\/WFahDhap6K\">https:\/\/t.co\/WFahDhap6K<\/a><\/p>\n<p>&mdash; Sean Thomas Larkin (@TheLarkInn) <a href=\"https:\/\/twitter.com\/TheLarkInn\/status\/1006746626617008128?ref_src=twsrc%5Etfw\">2018\u5e746\u670813\u65e5<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>\u3053\u306e\u30c4\u30a4\u30fc\u30c8\u3092\u8aad\u3080\u9650\u308a\u3001\u5de8\u5927\u306aOffice\u30bd\u30d5\u30c8\u5168\u4f53\u304cJavaScript\u3067\u66f8\u304d\u76f4\u3055\u308c\u305f\u3068\u89e3\u91c8\u3059\u308b\u3057\u304b\u306a\u304f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u9762\u3084\u3001\u5f93\u6765Office\u3092\u8a18\u8ff0\u3059\u308b\u306e\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u305fC\/C++\u306a\u3069\u306e\u8a00\u8a9e\u3068\u6bd4\u8f03\u3057\u305f\u5834\u5408\u306e\u6a5f\u80fd\u306e\u5c11\u306a\u3055\u304b\u3089\u3001Office\u306e\u52a3\u5316\u3092\u61f8\u5ff5\u3059\u308b\u30b3\u30e1\u30f3\u30c8\u304c\u5bc4\u305b\u3089\u308c\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u5b9f\u969b\u306f\u4eca\u56de\u3001Office\u304cJavaScript\u3067\u5b8c\u5168\u306b\u66f8\u304d\u76f4\u3055\u308c\u305f\u308f\u3051\u3067\u306f\u306a\u304f\u3001React Native\u3092\u7528\u3044\u3066UI\u90e8\u5206\u306e\u30b3\u30fc\u30c9\u306e\u5171\u901a\u5316\u304c\u884c\u308f\u308c\u305f\u306e\u304c\u771f\u5b9f\u306e\u3088\u3046\u3067\u3059\u3002Larkin\u6c0f\u304c\u30c4\u30a4\u30fc\u30c8\u306e\u771f\u610f\u3092\u660e\u78ba\u306b\u3059\u308b\u305f\u3081\u306b<a href=\"https:\/\/www.reddit.com\/r\/programming\/comments\/8qqhlz\/office_365_ms_teams_skype_code_and_the_edge_debug\/e0ll1dt\/\">Reddit<\/a>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6295\u7a3f\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<blockquote>\n<div class=\"md\">\n<p>Hi there!!! Original Tweeter here! I'm Sean and I'm a Program Manager at Microsoft working on Microsoft Edge and Edge Dev Tools!<\/p>\n<p>Going to clarify across a few things. Some was lack of more then 280 chars in a tweet and not expecting this to get beyond #JavaScript twitter.<\/p>\n<p>\u3044\u304f\u3064\u304b\u306e\u3053\u3068\u3092\u660e\u78ba\u306b\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n<\/p>\n<ol>\n<li>MS Teams, VS Code, is already written _with_ TypeScript which is compiled to JavaScript powered by Electron. It is an electron application. VS Code is on GitHub and Open Source if you'd like to see examples of how or what.\n<p>MS Team\u3084VS Code\u306f\u65e2\u306bElectron\u3092\u5229\u7528\u3057JavaScript\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308bTypeScript\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306fElectron\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002 \u65b9\u6cd5\u3084\u4f8b\u3092\u898b\u305f\u3044\u5834\u5408\u306f\u3001VS Code\u306fGitHub\u306b\u3042\u308a\u30bd\u30fc\u30b9\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n<\/li>\n<li>We are not abandoning C++, C#, or any of the other awesome languages, apis, and toolings that we use across Microsoft. EdgeHTML is almost entirely written in C++ like any other browser engine. However we do also run JavaScript (compiled from TypeScript) in DevTools, and leverage open source technologies like React and webpack to build the UI's for them.\n<p>\u79c1\u305f\u3061\u306fC ++\u3001C\uff03\u3001\u305d\u306e\u4ed6Microsoft\u304c\u4f7f\u7528\u3059\u308b\u8a00\u8a9e\u3001api\u3001\u30c4\u30fc\u30eb\u306a\u3069\u3092\u653e\u68c4\u3059\u308b\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 EdgeHTML\u306f\u3001\u4ed6\u306e\u30d6\u30e9\u30a6\u30b6\u30a8\u30f3\u30b8\u30f3\u3068\u540c\u69d8\u306bC++\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002 \u3057\u304b\u3057DevTools\u3067JavaScript(TypeScript\u304b\u3089\u30b3\u30f3\u30d1\u30a4\u30eb)\u3092\u5b9f\u884c\u3057\u3001React\u3084webpack\u306a\u3069\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u6280\u8853\u3092\u6d3b\u7528\u3057\u3066UI\u3092\u69cb\u7bc9\u3057\u3066\u3044\u307e\u3059\u3002\n<\/li>\n<li>Office 365's UI, a lot of it, but definitely not all of it, are pieces that are built using React Native (Windows). API's and Services are still going to be powered by C++, C#, or whatever is the most appropriate for that team. Nothing is converting to \"all\/completely\" JavaScript\/TypeScript.\n<p>Office 365\u306eUI\u306e\u591a\u304f\u306f\u3001React Native(Windows)\u3092\u4f7f\u7528\u3057\u3066\u69cb\u7bc9\u3055\u308c\u305f\u3082\u306e\u3067\u3059\u3002 API\u3068\u30b5\u30fc\u30d3\u30b9\u306fC++\u3001C\uff03\u3001\u307e\u305f\u306f\u305d\u306e\u30c1\u30fc\u30e0\u306b\u3068\u3063\u3066\u6700\u3082\u9069\u5207\u306a\u3082\u306e\u3067\u3042\u308c\u3070\u3001\u5f15\u304d\u7d9a\u304d\u5229\u7528\u3055\u308c\u307e\u3059\u3002 \u300c\u3059\u3079\u3066\/\u5b8c\u5168\u306b\u300dJavaScript \/ TypeScript\u306b\u5909\u63db\u3055\u308c\u305f\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n<\/li>\n<li>React Native compiling JavaScript to \"native code\" is arguably wrong. Most of what is native are API's interactions and Native Modules that can be communicated with through JavaScript. WebViews power UI rendering thanks to React. Thanks to the Skype Engineer who sniped me on that in discussion.\n<p>React Native\u3067JavaScript\u3092\"\u30cd\u30a4\u30c6\u30a3\u30d6\u30b3\u30fc\u30c9\"\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u3068\u3044\u3046\u306e\u306f\u6050\u3089\u304f\u9593\u9055\u3063\u3066\u3044\u307e\u3059\u3002\u30cd\u30a4\u30c6\u30a3\u30d6\u306e\u307b\u3068\u3093\u3069\u306f\u3001JavaScript\u3092\u4ecb\u3057\u3066\u901a\u4fe1\u3067\u304d\u308bAPI\u306e\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f3\u3068\u30cd\u30a4\u30c6\u30a3\u30d6\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002 WebViews\u306fReact\u306e\u304a\u304b\u3052\u3067UI\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u3092\u5f37\u5316\u3057\u307e\u3059\u3002 Skype Engineer\u306e\u304a\u304b\u3052\u3067\u3059\u3002\n<\/li>\n<li>Feel free to ask anything else! It's the least I can do for tweeting some pretty unclear messaging. <\/li>\n<\/ol>\n<\/div>\n<\/blockquote>\n<p>\u8aa4\u89e3\u3092\u62db\u304f\u8868\u73fe\u3060\u3063\u305f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u5c55\u958b\u3092\u72d9\u3046\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u3001React Native\u306e\u3088\u3046\u306a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u5229\u7528\u3059\u308b\u306e\u304c\u4eca\u5f8c\u306e\u4e3b\u6d41\u306b\u306a\u308b\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft\u306e\u958b\u767a\u8005\u304c\u3001Office\u3092\u5b8c\u5168\u306bJavaScript\u3067\u66f8\u304d\u76f4\u3057\u305f\u3068\u30c4\u30a4\u30fc\u30c8\u3057\u305f\u3053\u3068\u304b\u3089\u9a12\u52d5\u304c\u5dfb\u304d\u8d77\u3053\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u5224\u660e\u3057\u307e\u3057\u305f(MSPoweruser)\u3002 \u554f\u984c\u306e\u767a\u8a00\u3092\u884c\u3063\u305f\u306e\u306f\u3001Microsoft W [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":60660,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","footnotes":""},"categories":[75],"tags":[220],"class_list":["post-60659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-office"],"_links":{"self":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts\/60659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/comments?post=60659"}],"version-history":[{"count":0,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts\/60659\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/media\/60660"}],"wp:attachment":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/media?parent=60659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/categories?post=60659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/tags?post=60659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}