site stats

Google Dart gets its own version of the Angular 2 framework


<!–Google Dart gets its personal model of the Angular 2 framework respond that separate Angular 2 versions — one for Dart and one for TypeScript/JavaScript — may in fact discourage Dart adoption</h2> </section> <div class="modal eml-friend-wrapper" id="emailModal"> <div class="eml-ty eml-friend-success"> <i class="ss-icon ss-delete" /></p> <h3>Thanks</h3> <p class="msg-sent">Your message has been sent.</p> </p></div> <div class="eml-friend-error"> <i class="ss-icon ss-delete" /></p> <h3>Sorry</h3> <p class="msg-sent">There used to be an error emailing this page.</p> </p></div> </div> <section class="bodee"> <p>$(‘#” + slotName + “‘).responsiveAd(screenSize:’971 1115’, scriptTags: []);if (Object.keys(IDG.GPT.companions).length > Zero) IDG.GPT.refreshAd(‘” + slotName + “‘);”;<br /> var adDivString = “</p> <p>” + adString + “</p> <p>“;</p> <p> placementDiff = applyInsert($(this), adDivString);<br /> if (debug)<br /> console.log(“Simply placed an Advert and the placementDiff is: ” + placementDiff);</p> <p> placementTarget = cumulativeHeight + placementDiff + interModuleHeight + adHeightBuffer;</p> <p> else<br /> var moduleDivString = “”;<br /> var elementId = “drr-mod-“+moduleCounter;<br /> moduleDivString = “”;<br /> modules.push(elementId);</p> <p> placementDiff = applyInsert($(this), moduleDivString);<br /> if (debug)<br /> console.log(“Simply placed a module and the placementDiff is: ” + placementDiff);</p> <p> placementTarget = cumulativeHeight + placementDiff + interModuleHeight + moduleHeightBuffer;<br /> moduleCounter++;</p> <p> loopCounter++;</p> <p> // Avoid placing Elements too soon due to non-Huge figures inflating the cumulative Height<br /> if ($(this).is(“Figure”) && !$(this).is(“Determine.Huge”))<br /> cumulativeHeight += grafHeight;</p> <p> else<br /> cumulativeHeight += $(this).Height() + grafHeight;</p> <p> );</p> <p> // clone Related Stories module to come in after eighth para in article body for Cell breakpoint display<br /> var $relatedStories = $(‘.Associated-promo-wrapper’);<br /> if ($relatedStories.length)<br /> var $relatedStoriesClone = $relatedStories.clone();<br /> $relatedStoriesClone.insertAfter( “#drr-container > p:eq(7)”); </p> <p> // For Cellular simplest, Situation Advert after 2d paragraph.<br /> if (firstMobileAdHtml)<br /> $(firstMobileAdHtml).insertAfter(“#drr-container > p:eq(1)”);</p> <p> var $insiderPromo = $(‘.insider-promo-wrapper’);<br /> if ($insiderPromo.size)<br /> var $insiderPromoClone = $insiderPromo.clone();<br /> $insiderPromoClone.insertAfter( “#drr-container > p:eq(1)”);</p> <p> //Location left side Part<br /> cumulativeHeight = 0;<br /> var leftPlacementTarget = tagHeight = leftPlacementTarget)<br /> if (debug)<br /> console.log(“congratulations… we’ve handed the preliminary Start point”);</p> <p> if (leftPlacementIndex == null)<br /> //it can be No Longer just right sufficient to Now Not be a left Keep Away From – it also just isn’t a </p> <p> with an straight away previous small or medium picture left Avoid.<br /> if (!isLeftAvoid($(this)) && noPrevFigures($(this)) )<br /> leftPlacementIndex = $(this).index();<br /> $leftPlacementElement = $(this);<br /> leftPlacementLookaheadStart = cumulativeHeight;<br /> if (debug)<br /> console.log(“just isn’t a left Avoid and no prev figures. ########## set placementIndex (“+leftPlacementIndex+”) and lookaheadStart (“+leftPlacementLookaheadStart+”) ##########”);</p> <p> else<br /> if (debug)<br /> console.log(“is a left Keep Away From or has earlier figures. continue”);</p> <p> else<br /> if (debug)<br /> console.log(“#### leftPlacementIndex already set to “+leftPlacementIndex+”. looking IN ADVANCE…”);</p> <p> //Not null; has been set<br /> if ((cumulativeHeight – leftPlacementLookaheadStart) > leftIntervalHeight)<br /> if (debug)<br /> console.log(“###### THRESHOLD REACHED. LOOKAHEAD COMPLETE. Finish ###### (cumulativeHeight – leftPlacementLookaheadStart) (“+(cumulativeHeight-leftPlacementLookaheadStart)+”) > leftIntervalHeight (“+leftIntervalHeight+”).”);</p> <p> return false;<br /> else<br /> if (debug) $(this).hasClass(‘medium’)<br /> );</p> <p> if (leftPlacementIndex != null && elementNotNearEnd($leftPlacementElement, leftPixelWindow))<br /> if (debug)<br /> console.log(” insert into index “+leftPlacementIndex);</p> <p> $(“#drr-container”).youngsters().eq(leftPlacementIndex).earlier than(“</p> <p>“);</p> <p> IDG.GPT.trackOmniture();</p> <p> // Add Proper rail module content material<br /> for (var i=0; i” + adString + “</section> </article> </section> </div> <p>“;</p> <p> function getEpoParams() </p> <p> /**<br /> * @param jqo Original jquery object Goal<br /> * @param divString The div to be inserted.<br /> * @return Difference in Peak between Unique placement Goal and final Target.<br /> * Tests first 6 Parts for an allowable placement (600 pixel window).<br /> * If none, Check neighborhood for Parts that are not Right avoids.<br /> * If none, Position Element sooner than current Target.<br /> */<br /> function applyInsert(jqo, divString) jqo.hasClass(‘fullwidth’))<br /> if (debug)<br /> console.log(“isRightAvoid: found product checklist or fullwidth product sidebar”);</p> <p> return actual;</p> <p> return false;</p> <p> // Return real if Component has Type ‘reject’: is not going to Position drr modules/advertisements subsequent to these Components<br /> operate isRightReject(jqo)<br /> console.log(“in isRightReject”);<br /> if (jqo != null)<br /> if (jqo.hasClass(“reject”))<br /> if (debug)<br /> console.log(“isRightReject: found ‘reject’ Category”);</p> <p> return genuine;</p> <p> return false;</p> <p> return false;</p> <p> // Returns actual if Top of all Parts after this one is greater than 500; false in any other case<br /> operate elementNotNearEnd(Part, pixelWindow)<br /> if (pixelWindow == null)<br /> pixelWindow = 500;</p> <p> if (Component == null)<br /> return false;</p> <p> var remainingHeight = Zero;<br /> var youngsters = $(“#drr-container”).kids().slice(Part.index());<br /> if (children == null)<br /> return false;</p> <p> kids.EVERY(function(i)<br /> remainingHeight += $(this).Height();<br /> );<br /> if ( remainingHeight > pixelWindow)<br /> return real;</p> <p> else<br /> if (debug)<br /> console.log(“Component too just about Finish. Last Peak is: ” + remainingHeight + ” and window is ” + pixelWindow); </p> <p> return false;</p> <p> /**<br /> * Return actual if want to Keep Away From this Component when inserting left module.<br /> */<br /> perform isLeftAvoid(jqo)<br /> if (jqo.is(“Figure”))<br /> if (debug)<br /> console.log(“isLeftAvoid: discovered Determine. return true”);</p> <p> return authentic;</p> <p> if (jqo.is(“apart.pullquote”))<br /> if (debug)<br /> console.log(“isLeftAvoid: discovered pullquote. return actual”);</p> <p> return actual;</p> <p> if (jqo.is(“pre”))<br /> if (debug)<br /> console.log(“isLeftAvoid: found pre. return proper”);</p> <p> return authentic;</p> <p> if (jqo.is(“div.gist”))<br /> if (debug)<br /> console.log(“isLeftAvoid: discovered github code block. return true”);</p> <p> return real;</p> <p> if (jqo.is(“aside”) && jqo.hasClass(“sidebar”) && jqo.hasClass(“medium”))<br /> if (debug)<br /> console.log(“isLeftAvoid: discovered medium sidebar. return proper”);</p> <p> return true;</p> <p> if (jqo.hasClass(“statsTable”))<br /> if (debug)<br /> console.log(“isLeftAvoid: found Type statsTable. return true”);</p> <p> return proper;</p> <p> if (jqo.hasClass(“product-sidebar”) && jqo.Not(“.fullwidth”).size > 0)<br /> if (debug)<br /> console.log(“isLeftAvoid: discovered Classification product-sidebar. return proper”);</p> <p> return real;</p> <p> return false;</p> <p> /**<br /> * return authentic if there are no figures ahead of the Target placement that may bleed down into placement Element<br /> */<br /> function noPrevFigures($originalTarget)<br /> var targetIndex = $originalTarget.index();<br /> var numElementsLookBack = 5;<br /> var figureIndex = null;<br /> var figureHeight = null;<br /> var startIndex = targetIndex – numElementsLookBack </p> <div id="drr-container"> <p>Google’s Dart language will get its very personal model of the corporate’s Angular 2 framework to raised leverage Dart’s own capabilities. However The plan has raised subject that it will probably in fact harm the fledgling language.</p> <p>The Angular code base can be cut up into two flavors: a Dart version — referred to as AngularDart or Angular 2 Dart — and a TypeScript/JavaScript version, Google said this week.</p> <p>This division provides a version of Angular 2 that feels extra like idiomatic Dart, is faster, and will leverage Dart options that could Not work with the TypeScript model, Google’s Filip Hracek stated. Angular Dart Source code will probably be “cleaner” for builders, and the Dart and Angular teams pledged that issues could be closed quicker and that documentation will also be written with a Dart focal point.</p> <p>But an individual commenting on a Dart weblog post puzzled how good the transfer in truth was for Dart.</p> <p>“Is That This really just right information? I Believe that the one way Dart will survive is to play smartly with JS,” stated commenter Rasmus Ersmarker. “So That You Could write Dart libraries and Angular components in Dart that may be used from JS. This seems to be a step faraway from this and makes Dart extra remoted from the JS world.”</p> <p>Google’s Kaspar Lund answered that Dart thrives as a result of it is used to construct “truly crucial” apps. “Making Angular 2 for Dart faster and higher strengthens the case for selecting the Dart and Angular mixture for such apps even additional. That Is pretty just right information in my guide even though I do be mindful your level and considerations.”</p> <p>Proponents emphasised the move could be easier to contribute than under the previous setup, during which the multiple language flavors of Angular 2 were written as TypeScript Supply and compiled to Both JavaScript and Dart. Whereas a single-Source language approach labored in conception, it made it so much more difficult for brand new contributors so as to add to Angular, the teams explained. “Even simple modifications may quick develop into difficult by way of pass-language compatibility issues, and plenty of changes might most effective be made through anyone who understood the entire compilation process and Each language ambitions,” they said.</p> <p>Each versions will share a template syntax and, where applicable, an API. “When You Are a TypeScript or JavaScript developer, you’ll be able to additionally make the most of cleaner JavaScript APIs and performance features as we simplify the TypeScript codebase to get rid of the need for compilation to Dart,” the teams mentioned.</p> <aside class="nativo-promo tablet desktop" id="" /> <p><a href="http://www.infoworld.com/article/2620801/web-development/google-dart-hits-a-bull-s-eye-for-web-developers.html">Officially unveiled virtually 5 years in the past, Dart has received some traction with builders However has had limited success in comparison with JavaScript, the language that Dart was meant to eventually exchange. Google scrapped this lofty goal remaining yr and instead curious about compiling Dart to JavaScript. Namely, the corporate dropped plans to integrate the Dart VM into its Chrome browser.</p> <p>That Includes dependency injection and HTML-pushed directives, Angular has gained legions of followers. Angular 2, which constitutes a rewrite of the framework, is to be had as a unencumber candidate. The upgrade has been slated to allow use of more than one renderers, be decoupled from the DOM and improve “lazy loading,” during which simplest JavaScript modules needed for a particular view are loaded.</p> <p>Google this week additionally printed plans to free up a library of Subject Matter Design components for Angular 2 Dart. Subject Material Design, which supplies developed visible capabilities in applications, was offered for the Android platform in June 2014.</p> </div> <div class="byline vcard author end-byline"> <p><img class="bylineImage imgId100356327 " src="http://greattodaynews.com/wp-content/uploads/2016/07/1469184784_paulkrill_crop-100356327-byline.jpg" alt="Paul Krill" /></p> <div class="author-info with-image"> <p class="author-name"> Paul Krill — <span class="author-title">Editor at Huge</span></p> <p class="bio">Paul Krill is an editor at Large at InfoWorld, whose protection specializes in utility construction.</p> </p></div> <p><!-- end .author-info --></p> </div> <p><!-- blx4 #1218 blox4.html --></p> <div class="article-intercept"> <a href="http://www.cio.com/article/2847396/it-skills/8-free-online-courses-to-grow-your-tech-skills.html#tk.cross_2cio_intrcpt"><br /> <i class="ss-icon ss-navigateright" /><em> From CIO:</em> 8 Free Online Classes to Develop Your Tech Talents<br /> </a></p></div> <p> <!-- /.bodee --></p> <section id="funnel"> <section class="popular-brand-cols"> <section class="popular-col"><!-- /.promo --><br /> <!-- ./promo newsletter --></p> </section> <section class="brand-col"> </section> </section> <section class="featured-col"><!-- blx4 #937 blox4.simple --></p> </section> </section> <p> <!-- /role=main --><!-- /#page-wrapper --></p> <footer> <section class="brand"><span class="logo">InfoWorld</span><br /> <span class="tagline"> </span></p> <p> <span class="follow"><br /> <label>Follow us</label><br /> </span></p> </section> <section class="topics"> <nav id="ft1" /> <nav id="ft2" /></section> <section class="about"> </section> <section class="copyright"> <div class="wrapper"> <p>Copyright © 1994 – 2016 InfoWorld, Inc. All rights reserved.</p> <div class="network"> <div id="network-selector"> <p>Explore the IDG Network <i class="ss-icon tick">descend</i></p> </p></div> <p><!-- /#network-selector --> </div> <p><!-- /.network --> </div> <p><!-- /.wrapper --><br /> </section> </footer> <p><!-- Begin BlueKai Tag --></p> <p><!-- CryptoJS --></p> <p><!-- End BlueKai Tag --></p> <p><!-- START Nielsen Online SiteCensus? V6.0 --><br /> <!-- COPYRIGHT 2010 Nielsen Online --></p> <p><!-- END Nielsen Online SiteCensus? V6.0 --></p> <p> <!-- Begin welcome ad overlay - gpt-overlay position --></p> <p> <!-- End welcome ad overlay - gpt-overlay position --></p> <p> <!-- Begin gpt-skin/gpt-pin/inread --></p> <p> <!-- End gpt-skin/gpt-pin/inread --> </p> <p><!-- SiteCatalyst code version: H.26.2. Copyright 1996-2013 Adobe, Inc. All Rights Reserved More info available at http://www.omniture.com --></p> <p><img src="http://idgenterprise.d1.sc.omtrdc.net/b/ss/infoworld-production/1/H.25--NS/0" height="1" width="1" border="0" alt="" /><!--/DO NOT REMOVE/--><br /> <!-- End SiteCatalyst code version: H.26.2. --></p></div> <p><br /> <br /><a href="http://www.infoworld.com/article/3098864/javascript/google-dart-gets-its-own-version-of-the-angular-2-framework.html#tk.rss_all">Source link </a></p> <div class="clear"></div> </div><!-- /entry --> <div id="comments"> <p> You must be logged in to post a comment <a href="http://greattodaynews.com/wp-login.php?redirect_to=http%3A%2F%2Fgreattodaynews.com%2Fgoogle-dart-gets-its-own-version-of-the-angular-2-framework%2F"> Login </a> </p> </div><!-- #comments --> </div><!-- /main --> <div id="sidebar"> <div class="sidebarinner"> </div><!-- .sidebarinner --> </div><!-- /sidebar --> </div><!-- /container --></div><!-- end of wrapper --> <div id="footer"> <div id="foo_widget1"> <div id="flickr-widget-3" class="widget flickr_widget"><div class="widgetinner"><h3 class="widgettitle">Flickr Photo Stream</h3> <script type="text/javascript" src="http://www.flickr.com/badge_code_v2.gne?count=10&display=random&layout=x&source=all_tag&tag=&size=s"></script><div class="clear"></div></div></div> </div> <div id="foo_widget2"> <div id="recent-posts-3" class="widget widget_recent_entries"><div class="widgetinner"> <h3 class="widgettitle">Recent Posts</h3> <ul> <li> <a href="http://greattodaynews.com/north-koreas-failed-olympians-hope-to-avoid-dangerous-consequences/">North Korea’s failed Olympians hope to avoid dangerous consequences</a> </li> <li> <a href="http://greattodaynews.com/junior-national-champion-jake-foster-gives-early-verbal-to-texas/">Junior National Champion Jake Foster Gives Early Verbal To Texas</a> </li> <li> <a href="http://greattodaynews.com/fergie-reportedly-didnt-think-anything-was-wrong-with-her-national-anthem-performance/">Fergie reportedly didn’t think anything was wrong with her national anthem performance</a> </li> <li> <a href="http://greattodaynews.com/soldiers-deny-membership-of-banned-neo-nazi-group/">Soldiers deny membership of banned neo-Nazi group</a> </li> <li> <a href="http://greattodaynews.com/carnival-cruise-line-investigating-its-security-team-after-violent-brawl-gets-23-ejected/">Carnival Cruise Line investigating its security team after violent brawl gets 23 ejected</a> </li> </ul> </div></div> </div> </div> <div id="footer_data"> <ul class="footerpages"> <li class="first"><a href="http://greattodaynews.com/" title="Great Today News">Home</a></li> <li class="page_item page-item-6"><a href="http://greattodaynews.com/privacy-policy/">Privacy Policy</a></li> <li class="page_item page-item-195"><a href="http://greattodaynews.com/contact/">Contact Us</a></li> <li class="page_item page-item-198"><a href="http://greattodaynews.com/video-gallery/">Video Gallery</a></li> <li class="page_item page-item-201"><a href="http://greattodaynews.com/sitemap/">Sitemap</a></li> <li><a rel="nofollow" href="http://greattodaynews.com/feed/">RSS</a></li> <li class="right"><a href="#top" title="Great Today News" rel="home"><strong>↑</strong> Great Today News</a></li> </ul> <div class="clear"></div> <p id="footer-left-side"> <a href="http://greattodaynews.com/" title="Great Today News" rel="home">Great Today News</a> </p><!-- #site-info --> <p id="footer-right-side"> <a href="http://greattodaynews.com/wp-login.php">Log in</a> - Designed by <a href="http://www.greattodaynews.com/" title="Today News">Today News</a> <script type='text/javascript' src='http://greattodaynews.com/wp-includes/js/comment-reply.min.js?ver=4.9.4'></script> <script type='text/javascript'> /* <![CDATA[ */ var wpcf7 = {"apiSettings":{"root":"http:\/\/greattodaynews.com\/wp-json\/contact-form-7\/v1","namespace":"contact-form-7\/v1"},"recaptcha":{"messages":{"empty":"Please verify that you are not a robot."}},"cached":"1"}; /* ]]> */ </script> <script type='text/javascript' src='http://greattodaynews.com/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=5.0'></script> <script type='text/javascript' src='http://greattodaynews.com/wp-includes/js/wp-embed.min.js?ver=4.9.4'></script> </p> <!-- #footer-right-side --> </div><!-- /footer_data --> <div class="hide"> <div id="adv_here"> <h3 class="widgettitle">Widgetized Section</h3> <p>Go to Admin » appearance » Widgets » and move a widget into Advertise Widget Zone</p> </div> </div> <!-- Quantcast Tag --> <script type="text/javascript"> var _qevents = _qevents || []; (function() { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); _qevents.push({ qacct:"p-XSTdT3wyH_FGD" }); </script> <noscript> <div style="display:none;"> <img src="//pixel.quantserve.com/pixel/p-XSTdT3wyH_FGD.gif" border="0" height="1" width="1" alt="Quantcast"/> </div> </noscript> <!-- End Quantcast tag --> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/ Page Caching using disk: enhanced Served from: greattodaynews.com @ 2018-02-20 04:00:50 by W3 Total Cache -->