001480883 000__ 06834cam\\2200589\i\4500 001480883 001__ 1480883 001480883 003__ OCoLC 001480883 005__ 20231031003313.0 001480883 006__ m\\\\\o\\d\\\\\\\\ 001480883 007__ cr\cn\nnnunnun 001480883 008__ 230916s2023\\\\cau\\\\\ob\\\\001\0\eng\d 001480883 019__ $$a1396975790$$a1401019031 001480883 020__ $$a9781484293515$$q(electronic bk.) 001480883 020__ $$a1484293517$$q(electronic bk.) 001480883 020__ $$z9781484293508 001480883 020__ $$z1484293509 001480883 0247_ $$a10.1007/978-1-4842-9351-5$$2doi 001480883 035__ $$aSP(OCoLC)1397575824 001480883 040__ $$aEBLCP$$beng$$erda$$cEBLCP$$dORMDA$$dGW5XE$$dYDX$$dEBLCP$$dOCLCO$$dN$T 001480883 049__ $$aISEA 001480883 050_4 $$aQA76.625 001480883 08204 $$a005.2/76$$223/eng/20230919 001480883 1001_ $$aStrazzullo, Francesco,$$eauthor. 001480883 24510 $$aFrameworkless Front-End Development :$$bDo You Control Your Dependencies or Are They Controlling You? /$$cFrancesco Strazzullo. 001480883 250__ $$aSecond edition. 001480883 264_1 $$aBerkeley, CA :$$bApress L. P.,$$c[2023] 001480883 300__ $$a1 online resource. 001480883 336__ $$atext$$btxt$$2rdacontent 001480883 337__ $$acomputer$$bc$$2rdamedia 001480883 338__ $$aonline resource$$bcr$$2rdacarrier 001480883 500__ $$aDescription based upon print version of record. 001480883 504__ $$aIncludes bibliographical references and index. 001480883 5050_ $$aChapter 1: The Definition of Framework -- Frameworks vs Libraries -- Comparing Frameworks to Libraries -- Frameworks and Decisions -- Angular's Decisions -- Language -- Observables -- The Framework's Way -- Frameworks as Technical Debt -- Technical Investment -- Summary -- Chapter 2: Brief History of Front-end Frameworks -- The First Age: jQuery -- The jQuery's Way -- The Second Age: AngularJS, Backbone, and Ember -- AngularJS 001480883 5050_ $$aThe Third Age: React, Angular, and Vue -- Angular -- React -- Comparing Angular and React -- Bonus Tracks -- Web Components -- Svelte -- Next.JS -- Summary -- Chapter 3: Rendering -- The Document Object Model -- Monitoring Rendering Performance -- Chrome Developer Tools -- The stats.js Widget -- Custom Performance Widget -- Rendering Functions -- TodoMVC -- Rendering Pure Functions -- Reviewing the Code -- Component Functions -- Rendering Dynamic Data -- The Virtual DOM -- A Simple Virtual DOM Implementation -- Summary -- Chapter 4: Managing DOM Events -- The YAGNI Principle -- The DOM Events API 001480883 5050_ $$aAttach Handlers with Properties -- Attach Handlers with addEventListener -- The Event Object -- The DOM Event Lifecycle -- Using Custom Events -- Adding Events to TodoMVC -- Reviewing the Rendering Engine -- The Template Element -- A Basic Event-Handling Architecture -- Event Delegation -- Summary -- Chapter 5: Web Components -- The APIs -- The Custom Elements API -- Managing Attributes -- attributeChangedCallback -- Virtual DOM Integration -- Custom Events -- Using Web Components for TodoMVC -- Web Components vs Rendering Functions -- Code Style -- Testability -- Portability -- Community 001480883 5050_ $$aDisappearing Frameworks -- Summary -- Chapter 6: HTTP Requests -- A Bit of History: The Birth of AJAX -- A To-Do List REST Server -- Representational State Transfer (REST) -- Code Examples -- The Basic Structure -- XMLHttpRequest -- Fetch -- Reviewing the Architecture -- Summary -- Chapter 7: Routing -- Single Page Applications -- Code Examples -- Fragment Identifiers -- A First Example -- Navigating Programmatically -- Route Parameters -- The History API -- Using Links -- Navigo -- Choosing the Right Router -- Summary -- Chapter 8: State Management -- Reviewing the TodoMVC Application 001480883 5050_ $$aModel View Controller -- Observable Model -- Reactive Programming -- A Reactive Model -- Native Proxies -- Event Bus -- A Frameworkless Implementation -- Redux -- Comparing State Management Strategies -- Model View Controller -- Reactive Programming -- Event Bus -- Summary -- Chapter 9: Frameworkless Refactoring: StranglerFigApplication Pattern -- Setting the Stage -- The Solution -- The Example -- The Original Application -- Moving Services -- Moving Components -- Other Conversion Strategies -- iframes -- Proxy -- Summary -- Chapter 10: Defending from Frameworks -- Classify Framework Features -- Rendering/Event Management 001480883 506__ $$aAccess limited to authorized users. 001480883 520__ $$aExplore an alternative method of front-end application development without using frameworks or third-party libraries. This updated book provides you with the required skills and freedom to consider a "no framework" approach when choosing a technology for creating a new project. New topics covered include a brief history of JavaScript frameworks and their key developments, how to protect domain code, and how to work with frameworkless in legacy applications. You'll work through the most important issues in a clear and sensible way, using practical methods and tools to gain an understanding of non-functional requirements. This book answers questions on important topics such as state management, making a routing system, creating a REST client using fetch, and reveals the trade-offs and risks associated with choosing the wrong framework or tool for your project, as well as provides sustainability, and functional alternatives. Frameworkless Front-End Development breaks down the concept of technical debt and the ways in which a framework can impact the lifespan of a project. Along with gaining a comprehensive and clear guide on coding effectively from scratch without frameworks, you will also learn some principles of technical decision-making. What You'll Learn Understand DOM manipulation Manage the state of a fronted application with different patterns Safely migrate existent applications to a new framework or to frameworkless code Understand the importance of non-functional requirements See how a Framework can affect the "health" of a codebase Who This Book Is For Skilled JavaScript developers who want to understand how to effectively write code without using dependencies CTOs who need to help teams to choose a technology stack for their next project Consultants that need to refactor an existent JavaScript front-end codebase. 001480883 650_6 $$aJavaScript (Langage de programmation) 001480883 650_0 $$aComputer software$$xDevelopment. 001480883 650_0 $$aJavaScript (Computer program language)$$0(DLC)sh 96004880 001480883 655_0 $$aElectronic books. 001480883 77608 $$iPrint version:$$aStrazzullo, Francesco$$tFrameworkless Front-End Development$$dBerkeley, CA : Apress L. P.,c2023$$z9781484293508 001480883 852__ $$bebk 001480883 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-9351-5$$zOnline Access$$91397441.1 001480883 909CO $$ooai:library.usi.edu:1480883$$pGLOBAL_SET 001480883 980__ $$aBIB 001480883 980__ $$aEBOOK 001480883 982__ $$aEbook 001480883 983__ $$aOnline 001480883 994__ $$a92$$bISE