Being a Successful I18N Leader

Total Page:16

File Type:pdf, Size:1020Kb

Being a Successful I18N Leader JavaScript Library Comparisons www.XenCraft.com Abstract Which JavaScript library is best for international deployment? This session presents the results of an investigation of the features of several JavaScript libraries and their suitability for international markets. We will show how the libraries were evaluated and compare the results for at least: Dojo, JQuery, and YUI. The results may surprise you and will be Comparing JavaScript Libraries useful to anyone designing new international or multilingual JavaScript applications or supporting existing ones. Craig Cummings, Tex Texin November 4, 2014 2 Agenda Origins • Background • Project to extend globalization • Evaluation Criteria - Complex e-Commerce Software - Multiple subsystems • Libraries - Different development teams • Results - Different libraries already in use • Q&A • Should we standardize? Which one? - Reduce maintenance - Increase competence 3 4 Craig Cummings and Tex Texin JavaScript Library Comparisons Evaluation Criteria Candidate Libraries • Support for target and future markets AccDC MooTools Ample SDK PhoneJS • Number of internationalization features CupQ Prototype DHTMLX Pyjamas • Quality of internationalization features Dojo qooxdoo • Maintained? Echo3 Rialto Toolkit Enyo Rico • Widely used? Ext JS SmartClient & SmartGWT Google Web Toolkit Wakanda • Ease of migration from existing libraries i18next Web Atoms jQuery Webix • Browser compatibility Midori YUI 5 MochiKit 6ZK The ECMA I18n Standard Internationalization Feature Requirements • Why not rely on the new standard? • Encoding Support • Text Support - It didn’t exist circa 2011 - Unicode - Case, Accent Mapping - Supplementary Chars - Unclear browser support - Boundary detection - Bidi algorithm, shaping - Older browser support requirements - Character Properties - Transliteration - Charset detection • Message Formatting - Conversion - Resource/properties - IDN/IRI files - Normalization - Collation - Plurals, Gender, et al 7 8 Craig Cummings and Tex Texin JavaScript Library Comparisons Internationalization Feature Desirable Features Requirements - Cross-browser compatibility • Regular Expressions • Data formats • Desktop, Mobile, Node.js, Older versions - Date, time, calendar • Compression - Based on CLDR Locale Data - Time zone - Based on ICU • Locales - Number, Currency - Ease of data update and customization - Names (BCP 47) - Postal Address - Negotiation - Name, Honorifics • Time zone data (Olson/IANA) - Fallback • CLDR locale corrections and additions • Measurement - Detection systems - Part of a larger (useful) JS platform - Well-performing (CPU, download size, disk, memory) 9 10 Scoping Minimal Feature Requirements (Ideally in one library) • Need to limit investigation • Encodings • Writing tests and reviewing each feature - Detection, Supplementary characters, Conversion for each library would take a large effort • Locales: European and Asian Markets • Reduced list of libraries • Data Formats - Already in use or strongly recommended - Dates, times, numbers, currency - YUI, jQuery+globalize.js, Dojo, Closure, QooxDoo - Localized Gregorian calendar • Identified features/functions actually used • Message formatting, Externalized text • IDN, IRI 11 12 Craig Cummings and Tex Texin JavaScript Library Comparisons Updated Goals Example Challenge: Dates • Adequate i18n for foreseeable future • 142 different date formats in use • Meets minimal i18n requirements - Unclear history or requirements for each format - Unclear how to internationalize some formats • Meets browser requirements - Unclear whether to internationalize some formats • Acceptable to development teams • Part of a larger library • Easy to update data • Easy to migrate to 13 14 Quick Comparison YUI globalize.js Dojo Locales 81 225/353 25/35 Number Format Fair (self) Good Excellent Currency Format Fair (self) Good Good Date Format Good (strftime) Good Excellent Time Format Good (strftime) Good Excellent Calendar Format Fair (self) Excellent Good Library Comparison Data 16 Craig Cummings and Tex Texin JavaScript Library Comparisons Code Evaluation (js.i18nqa.com) YUI • Advantages • 2014 Update - Robust additional I18n - Code shows strftime support flexible enough to match • BCP-47 locales and in- 12 of 16 standard ICU depth locale support date formats • JSON/YRB Resources - The 4 do not match only • Word break for time zone spellout • Disadvantages - Number formatting just as - Self-driven number and problematic currency formatting - New calendars near - strftime date formatting impossible to add 17 20 YUI Development End Dojo • “On August 29, 2014, it was announced that active • Advantages • 2014 Update development of YUI by Yahoo! would end, citing the - CLDR formats - Unit testing reveals this evolution of the JavaScript standards, steadily decreasing harder to get running than • Number, currency, date YUI, but easier than interest in JavaScript libraries by developers, and the and time formatting Globalize. proliferation of server-side solutions. Future development - Code shows strftime flexible • Disadvantages enough to match 4 of 16 will be limited to maintenance releases addressing issues standard ICU date formats. which are absolutely critical to Yahoo properties.” - Not-as-rich locale support Mismatches due to minor - BCP-47 locale, currency, separator problems - http://yahooeng.tumblr.com/post/96098168666/im and other I18n support not - More locales available than portant-announcement-regarding-yui as well documented advertised, but problematic in actual use. 21 22 Craig Cummings and Tex Texin JavaScript Library Comparisons jQuery/Globalize.js ECMA-402 • Advantages • Advantages • 2014 Update - Excellent implementations for locales, number and date formats, and - Very rich set of I18n support - Being rewritten; alpha collation. - International calendars state. Can’t fully review. - Supplementary character support in separate specification out this fall • Disadvantages - More difficult to set up (ECMA-262) - Date information mismatches - Now with CLDR - Built-in support with all major browsers save Safari. with CLDR/ICU - Nearly as comprehensive • Disadvantages - jQuery DatePicker’s first day of week, day name problems coverage for dates and - Message support, boundary detection, and more earmarked for stalled numbers as ECMA-402. second edition. - BCP-47 locale support not well documented - Differing results with different browsers - Mobile support currently very limited 23 24 ECMA vs ICU Comparison Conclusion Passing Unit Tests for EMCA Support • Even popular, recommended JS libraries I18n Support IE 11 FF 33 Chrome 38 Opera 25 lack good i18n coverage in “basic” areas Number Format (of 487 638 461 486 - A standard is needed 645) Date Format (of 0 4841 1939 2067 • Extensive evaluation is nice to have, 10320) scoping to near-term needs is practical Browser Independent - Risks repeating and replacing library in the future jQuery globalize number format 585/645 Dojo number format ~487/645 25 27 Craig Cummings and Tex Texin JavaScript Library Comparisons YUI Resources Dojo Resources • YUI I18n Doc • Dojo doc - http://yuilibrary.com/yui/docs/intl/ - http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/intl/index.html - http://dojotoolkit.org/documentation/tutorials/1.9/i18n/ • YUI Numbers/Currencies - http://dojotoolkit.org/reference- - http://yuilibrary.com/yui/docs/datatype/datatype-numberformat.html guide/1.9/quickstart/internationalization/index.html#quickstart- - http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/datatype/datatype_numberformat.html internationalization-index • YUI Dates/Times • Dojo demos - http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html - http://yuilibrary.com/yui/docs/datatype/datatype-dateformat-lang.html - http://dojotoolkit.org/reference-guide/1.9/dojo/number.html#dojo-number - http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/datatype/datatype_numberformat.html - http://dojotoolkit.org/reference-guide/1.9/dojo/date.html#dojo-date - http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/datatype/datatype_dateformat_lang.html - http://dojotoolkit.org/reference-guide/1.9/dijit/Calendar.html 28 29 JQuery/globalize.js Resources ECMA Resources • Jquery • ECMA Specs - http://jqueryui.com/datepicker/#localization - 1st Edition • globalize.js • http://www.ecma- international.org/publications/standards/Ecma- - https://github.com/jquery/globalize 402.htm - https://github.com/jquery/globalize#numbers - Tests - https://github.com/jquery/globalize#currency • http://test262.ecmascript.org/testcases_intl402.h - https://github.com/jquery/globalize#dates tml# 30 31 Craig Cummings and Tex Texin JavaScript Library Comparisons Questions? Craig R. Cummings Principal Software Engineer – I18n, Informatica Craig has been working in the field of software globalization for over twenty years. Before his role at Informatica, Craig was at Zynga making games in a variety of languages including Arabic. Before that, at Yahoo! Inc., he helped drive corporate technical strategy for internationalization with a particular focus on Middle Eastern markets. Prior to that, Craig was with Oracle's Applications globalization team where he worked closely with Sun's internationalization team to shape some of the pluggable locale, resource bundle, font, and supplementary character support in Java. 32 33 Tex Texin Globalization Architect, XenCraft Tex Texin is an industry thought leader specializing in business and software globalization services. His expertise includes global product strategy, Unicode and internationalization architecture, and
Recommended publications
  • Introduction to React.Js
    Introduction to React A workshop for COMP 523 Aaron Smith Monday, Feb. 10, 2020 What is React? • React is a JavaScript framework • Used for front end web development • Think of jQuery, but more structured • Created and used by Facebook • Famous for implementing a virtual dom Timeline of front-end JavaScript frameworks jQuery* AngularJS React Vue Angular (2006) (2010) (2013) (2014) (2014) * jQuery is more often considered a library than a framework Common tasks in front-end development App state Data definition, organization, and storage User actions Event handlers respond to user actions Templates Design and render HTML templates Routing Resolve URLs Data fetching Interact with server(s) through APIs and AJAX Fundamentals of React 1. JavaScript and HTML in the same file (JSX) 2. Embrace functional programming 3. Components everywhere JavaScript and HTML in the same file HTML CSS JS JSX CSS or JSS Traditional React approach approach JSX: the React programming language const first = "Aaron"; const last = "Smith"; const name = <span>{first} {last}</span>; const list = ( const listWithTitle = ( <ul> <> <li>Dr. David Stotts</li> <h1>COMP 523</h1> <li>{name}</li> <ul> </ul> <li>Dr. David Stotts</li> ); <li>{name}</li> </ul> </> ); “React is just JavaScript” Functional programming 1. Functions are “first class citizens” 2. Variables are immutable 3. Functions have no side effects Functional programming Functions are “first class citizens” let add = function() { console.log('Now adding numbers'); const five = 3 + 2; }; function foo() { return
    [Show full text]
  • Machine Learning in the Browser
    Machine Learning in the Browser The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:38811507 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA Machine Learning in the Browser a thesis presented by Tomas Reimers to The Department of Computer Science in partial fulfillment of the requirements for the degree of Bachelor of Arts in the subject of Computer Science Harvard University Cambridge, Massachusetts March 2017 Contents 1 Introduction 3 1.1 Background . .3 1.2 Motivation . .4 1.2.1 Privacy . .4 1.2.2 Unavailable Server . .4 1.2.3 Simple, Self-Contained Demos . .5 1.3 Challenges . .5 1.3.1 Performance . .5 1.3.2 Poor Generality . .7 1.3.3 Manual Implementation in JavaScript . .7 2 The TensorFlow Architecture 7 2.1 TensorFlow's API . .7 2.2 TensorFlow's Implementation . .9 2.3 Portability . .9 3 Compiling TensorFlow into JavaScript 10 3.1 Motivation to Compile . 10 3.2 Background on Emscripten . 10 3.2.1 Build Process . 12 3.2.2 Dependencies . 12 3.2.3 Bitness Assumptions . 13 3.2.4 Concurrency Model . 13 3.3 Experiences . 14 4 Results 15 4.1 Benchmarks . 15 4.2 Library Size . 16 4.3 WebAssembly . 17 5 Developer Experience 17 5.1 Universal Graph Runner .
    [Show full text]
  • Pragmatic Guide to Javascript
    www.allitebooks.com What Readers Are Saying About Pragmatic Guide to J a v a S c r i p t I wish I had o w n e d this book when I first started out doing JavaScript! Prag- matic Guide to J a v a S c r i p t will take you a big step ahead in programming real-world JavaScript by showing you what is going on behind the scenes in popular JavaScript libraries and giving you no-nonsense advice and back- ground information on how to do the right thing. W i t h the condensed years of e x p e r i e n c e of one of the best JavaScript developers around, it’s a must- read with great reference to e v e r y d a y JavaScript tasks. Thomas Fuchs Creator of the script.aculo.us framework An impressive collection of v e r y practical tips and tricks for getting the most out of JavaScript in today’s browsers, with topics ranging from fundamen- tals such as form v a l i d a t i o n and JSON handling to application e x a m p l e s such as mashups and geolocation. I highly recommend this book for anyone wanting to be more productive with JavaScript in their web applications. Dylan Schiemann CEO at SitePen, cofounder of the Dojo T o o l k i t There are a number of JavaScript books on the market today, b u t most of them tend to focus on the new or inexperienced JavaScript programmer.
    [Show full text]
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • Create Mobile Apps with HTML5, Javascript and Visual Studio
    Create mobile apps with HTML5, JavaScript and Visual Studio DevExtreme Mobile is a single page application (SPA) framework for your next Windows Phone, iOS and Android application, ready for online publication or packaged as a store-ready native app using Apache Cordova (PhoneGap). With DevExtreme, you can target today’s most popular mobile devices with a single codebase and create interactive solutions that will amaze. Get started today… ・ Leverage your existing Visual Studio expertise. ・ Build a real app, not just a web page. ・ Deliver a native UI and experience on all supported devices. ・ Use over 30 built-in touch optimized widgets. Learn more and download your free trial devexpress.com/mobile All trademarks or registered trademarks are property of their respective owners. Untitled-4 1 10/2/13 11:58 AM APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE INSIDE Choose a Cloud Network for Government-Compliant magazine Applications Geo-Visualization of SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Government Data Sources Harness Open Data with CKAN, OData and Windows Azure Engage Communities with Open311 THE DIGITAL GOVERNMENT ISSUE Inside the tools, technologies and APIs that are changing the way government interacts with citizens. PLUS SPECIAL GOVERNMENT ISSUE APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Enhance Services with Windows Phone 8 Wallet and NFC Leverage Web Assets as Data Sources for Apps APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE ISSUE GOVERNMENT SPECIAL DEVELOPMENT & APPLICATIONS Untitled-1 1 10/4/13 11:40 AM CONTENTS OCTOBER 2013/SPECIAL GOVERNMENT ISSUE OCTOBER 2013/SPECIAL GOVERNMENT ISSUE magazine FEATURES MOHAMMAD AL-SABT Editorial Director/[email protected] Geo-Visualization of Government KENT SHARKEY Site Manager Data Sources MICHAEL DESMOND Editor in Chief/[email protected] Malcolm Hyson ..........................................
    [Show full text]
  • HCI Lessons Using AJAX for a Page-Turning Web Application
    CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty Abstract User Interface Design Specialist This case study describes creating a version of METS Digital Library Program Navigator, a page-turning web application for multi- Indiana University part digital objects, using an AJAX library with user Herman B Wells Library, W501 interface components. The design for this version 1320 E. 10th Street created problems for customized user interactions and Bloomington, IN 47405 USA accessibility problems for users, including those using [email protected] assistive technologies and mobile devices. A review of the literature considers AJAX, accessibility, and universal usability and possible steps to take moving forward to correct these problems in METS Navigator. Keywords AJAX, accessibility, universal usability ACM Classification Keywords H.5.2. Information interfaces and presentation: User interfaces - user-centered design, standardization. General Terms Design, human factors, standardization Copyright is held by the author/owner(s). CHI 2011, May 7–12, 2011, Vancouver, BC, Canada. Introduction ACM 978-1-4503-0268-5/11/05. AJAX (Asynchronous JavaScript and XML) is a widely used method for developing Web 2.0 applications 827 CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada (called Rich Internet Applications, or RIA’s), both to incorporate the Semantic Web into Web 2.0 enhance certain features
    [Show full text]
  • Extracting Taint Specifications for Javascript Libraries
    Extracting Taint Specifications for JavaScript Libraries Cristian-Alexandru Staicu Martin Toldam Torp Max Schäfer TU Darmstadt Aarhus University GitHub [email protected] [email protected] [email protected] Anders Møller Michael Pradel Aarhus University University of Stuttgart [email protected] [email protected] ABSTRACT ACM Reference Format: Modern JavaScript applications extensively depend on third-party Cristian-Alexandru Staicu, Martin Toldam Torp, Max Schäfer, Anders Møller, and Michael Pradel. 2020. Extracting Taint Specifications for JavaScript libraries. Especially for the Node.js platform, vulnerabilities can Libraries. In 42nd International Conference on Software Engineering (ICSE have severe consequences to the security of applications, resulting ’20), May 23–29, 2020, Seoul, Republic of Korea. ACM, New York, NY, USA, in, e.g., cross-site scripting and command injection attacks. Existing 12 pages. https://doi.org/10.1145/3377811.3380390 static analysis tools that have been developed to automatically detect such issues are either too coarse-grained, looking only at 1 INTRODUCTION package dependency structure while ignoring dataflow, or rely on JavaScript is powering a wide variety of web applications, both manually written taint specifications for the most popular libraries client-side and server-side. Many of these applications are security- to ensure analysis scalability. critical, such as PayPal, Netflix, or Uber, which handle massive In this work, we propose a technique for automatically extract- amounts of privacy-sensitive user data and other assets. An impor- ing taint specifications for JavaScript libraries, based on a dynamic tant characteristic of modern JavaScript-based applications is the analysis that leverages the existing test suites of the libraries and extensive use of third-party libraries.
    [Show full text]
  • IADIS Conference Template
    www.seipub.org/ie Information Engineering (IE) Volume 3, 2014 Performance and Quality Evaluation of jQuery Javascript Framework Andreas Gizas, Sotiris P. Christodoulou, Tzanetos Pomonis HPCLab, Computer Engineering & Informatics Dept., University of Patras Rion, Patras Received Jun 10, 2013; Revised Jun 21, 2013; Accepted Mar 12, 2014; Published Jun 12, 2014 © 2014 Science and Engineering Publishing Company Abstract devices. Mobile web is the name of this new field of The scope of this work is to provide a thorough web applications and JavaScript is expected to play a methodology for quality and performance evaluation of the major role in its development with the evolution of most popular JavaScript framework, the jQuery Framework, new devices and standards (ex. iPhone, Android) or as by taking into account well established software quality the heart of cross platform applications (like factors and performance tests. The JavaScript programming phonegap.com). There are also proposals for language is widely used for web programming and employing JavaScript in server-side applications increasingly, for general purpose of computing. Since the (Server-Side JavaScript Reference v1.2). growth of its popularity and the beginning of web 2.0 era, many JavaScript frameworks have become available for Due to the plethora of applications that JavaScript programming rich client-side interactions in web serves and the variety of programming needs, applications. The jQuery project and its community serve frameworks have been created in order to help both today as a major part of web programmers. The main programmers and end-users. These frameworks aim to outcome of this work is to highlight the pros and cons of be a useful tool for simplifying JavaScript code jQuery in various areas of interest and signify which and development and repeat blocks of code by using just a where the weak points of its code are.
    [Show full text]
  • 1. the ZK User Interface Markup Language
    1. The ZK User Interface Markup Language The ZK User Interface Markup Language (ZUML) is based on XML. Each XML element describes what component to create. XML This section provides the most basic concepts of XML to work with ZK. If you are familiar with XML, you could skip this section. If you want to learn more, there are a lot of resources on Internet, such as http://www.w3schools.com/xml/xml_whatis.asp and http://www.xml.com/pub/a/98/10/guide0.html. XML is a markup language much like HTML but with stricter and cleaner syntax. It has several characteristics worth to notice. Elements Must Be Well-formed First, each element must be closed. They are two ways to close an element as depicted below. They are equivalent. Close by an end tag: <window></window> Close without an end tag: <window/> Second, elements must be properly nested. Correct: <window> <groupbox> Hello World! </groupbox> </window> Wrong: <window> <groupbox> Hello World! </window> </groupbox> Special Character Must Be Replaced XML uses <element-name> to denote an element, so you have to replace special characters. For example, you have to use &lt; to represent the < character. ZK: Developer's Guide Page 1 of 92 Potix Corporation Special Character Replaced With < &lt; > &gt; & &amp; " &quot; ' &apos; It is interesting to notice that backslash (\) is not a special character, so you don't need to escape it at all. Attribute Values Must Be Specified and Quoted Correct: width="100%" checked="true" Wrong: width=100% checked Comments A comment is used to leave a note or to temporarily edit out a portion of XML code.
    [Show full text]
  • Microsoft AJAX Library Essentials Client-Side ASP.NET AJAX 1.0 Explained
    Microsoft AJAX Library Essentials Client-side ASP.NET AJAX 1.0 Explained A practical tutorial to using Microsoft AJAX Library to enhance the user experience of your ASP.NET Web Applications Bogdan Brinzarea Cristian Darie BIRMINGHAM - MUMBAI Microsoft AJAX Library Essentials Client-side ASP.NET AJAX 1.0 Explained Copyright © 2007 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: July 2007 Production Reference: 1230707 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847190-98-7 www.packtpub.com Cover Image by www.visionwt.com Table of Contents Preface 1 Chapter 1: AJAX and ASP.NET 7 The Big Picture 8 AJAX and Web 2.0 10 Building
    [Show full text]
  • Learning Javascript Design Patterns
    Learning JavaScript Design Patterns Addy Osmani Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo Learning JavaScript Design Patterns by Addy Osmani Copyright © 2012 Addy Osmani. All rights reserved. Revision History for the : 2012-05-01 Early release revision 1 See http://oreilly.com/catalog/errata.csp?isbn=9781449331818 for release details. ISBN: 978-1-449-33181-8 1335906805 Table of Contents Preface ..................................................................... ix 1. Introduction ........................................................... 1 2. What is a Pattern? ...................................................... 3 We already use patterns everyday 4 3. 'Pattern'-ity Testing, Proto-Patterns & The Rule Of Three ...................... 7 4. The Structure Of A Design Pattern ......................................... 9 5. Writing Design Patterns ................................................. 11 6. Anti-Patterns ......................................................... 13 7. Categories Of Design Pattern ............................................ 15 Creational Design Patterns 15 Structural Design Patterns 16 Behavioral Design Patterns 16 8. Design Pattern Categorization ........................................... 17 A brief note on classes 17 9. JavaScript Design Patterns .............................................. 21 The Creational Pattern 22 The Constructor Pattern 23 Basic Constructors 23 Constructors With Prototypes 24 The Singleton Pattern 24 The Module Pattern 27 iii Modules 27 Object Literals 27 The Module Pattern
    [Show full text]
  • “Web Development Using Python” 01 April 2021
    A Report on the Webinar “Web development using Python” 01 April 2021 Organized by ‘Anacron’, Students association of the Department of Computer Science and Engineering, Akshaya College of Engineering and Technology A webinar, “Web development using Python” was organized by the students’ association, ‘Anacron’ of the department of Computer Science and Engineering, on 1-4-21. A brief report of the same is given below. WELCOME ADDRESS: Welcome address was given by Dr. N. Rajkumar, HOD/CSE, ACET. INTRODUCTION OF CHIEF GUEST Ms. J. Rajichellam completed her UG degree B.E CSE in Madurai Institute of Engineering and Technology. She is having certificates of proficiency in C, C++, HTML5, CSS, Javascript, Jquery, etc.,. She is having more than 6 years of industrial experience and currently working as Technical trainer in Elysium Academy. CHIEF GUEST PRESENTATION: Ms. J. Rajichellam started her presentation with a brief note about the future for Web development using python and then explained about the career opportunities in Python. She also explained as to why students should be well versed in python. She also urged the students to have a goal for their career and for that they should envisage a plan. She opined that without a plan they can’t achieve success. She said, Web development is an umbrella term for conceptualizing, creating, deploying and operating web applications and application programming interfaces for the web. She basically gave explanation for three topics. 1. Why is web development important? The web has grown a mindboggling amount in the number of sites, users and implementation capabilities since the first website went live in 1989.
    [Show full text]