{"id":21945,"date":"2018-04-19T20:00:00","date_gmt":"2018-04-19T20:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/premier_developer\/?p=21945"},"modified":"2019-02-18T08:19:23","modified_gmt":"2019-02-18T15:19:23","slug":"role-of-web-based-technologies-in-maximizing-code-sharing-in-your-applications","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/role-of-web-based-technologies-in-maximizing-code-sharing-in-your-applications\/","title":{"rendered":"Role of Web Based Technologies In Maximizing Code Sharing In Your Applications"},"content":{"rendered":"<p>In this post, Premier Developer Consultant <a href=\"https:\/\/www.linkedin.com\/in\/waelkdouh\/\" target=\"_blank\" rel=\"noopener\">Wael Kdouh<\/a> shares ideas of the alternatives to reduce web complexity and increase code sharing. He does a side-by-side comparison of Cordova\/Iconic, NativeScript, and React Native to help you explore some of your options to reduce complexity.<\/p>\n<hr \/>\n<p>I was recently approached by a colleague of mine with the following question: &#8220;What are the available alternatives to reduce the current complexity of developing for multiple channels?&#8221;. In a nutshell he was looking for ways to maximize the amount of client code shared among iOS, Android and Web channels while still being able to use native mobile features if\/when needed. So here is the answer I shared with him which I thought would be beneficial for the wider community (not to mention that we love open sourcing everything here at Microsoft these days including our internal discussion threads).<\/p>\n<p>The first question I typically start with is \u201cWhat are they trying to build\u201d? For example if they require squeezing out every bit of performance then native will always come on top.<\/p>\n<p>The second question I ask is \u201cWhat is their developers\u2019 skillset\u201d? Now in this case they are coming from native development so they may be open to either C#\/XAML or JavaScript(or TypeScript)\/CSS\/html.<\/p>\n<p>The fact that he threw in the word web presence mixed with requirement for a consolidated code base makes the web sound like a viable option (we still need to address the two aforementioned questions). There are a lot of options with the web today (this could be a good thing or bad thing depending on how you look at it).<\/p>\n<p>Read more of Wael\u2019s <a href=\"https:\/\/medium.com\/@waelkdouh\/role-of-web-based-technologies-in-maximizing-code-sharing-in-your-applications-98f015f9832d\" target=\"_blank\" rel=\"noopener\">post here<\/a> to explore these options.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, Premier Developer Consultant Wael Kdouh shares ideas of the alternatives to reduce web complexity and increase code sharing. He does a side-by-side comparison of Cordova\/Iconic, NativeScript, and React Native to help you explore some of your options to reduce complexity. I was recently approached by a colleague of mine with the following [&hellip;]<\/p>\n","protected":false},"author":582,"featured_media":37840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[55],"tags":[51,185,190,71,280,310,366,98,386],"class_list":["post-21945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web","tag-angular","tag-cordova","tag-cross-platform","tag-mobile-development","tag-nativescript","tag-progressive-web-applications","tag-typescript","tag-wael-kdouh","tag-webassembly"],"acf":[],"blog_post_summary":"<p>In this post, Premier Developer Consultant Wael Kdouh shares ideas of the alternatives to reduce web complexity and increase code sharing. He does a side-by-side comparison of Cordova\/Iconic, NativeScript, and React Native to help you explore some of your options to reduce complexity. I was recently approached by a colleague of mine with the following [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/21945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=21945"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/21945\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=21945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=21945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=21945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}