Professional Javascript for Web Developers.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Professional Javascript for Web Developers.Pdf www.allitebooks.com www.allitebooks.com Professional JavaScript™ for Web Developers www.allitebooks.com www.allitebooks.com Professional JavaScript™ for Web Developers Nicholas C. Zakas www.allitebooks.com Professional JavaScript™ for Web Developers Copyright © 2005 by Wiley Publishing Inc. All rights reserved. Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8700. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at www.wiley.com/go/permissions. LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTIC- ULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMO- TIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PRO- FESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOT THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ. For general information on our other products and services please contact our Customer Care Depart- ment within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Trademarks: Wiley, the Wiley Publishing logo, Wrox, the Wrox logo, and Programmer to Programmer are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates. JavaScript is a trademark of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Cataloging-in-Publication Data is available from the publisher. ISBN-13: 978-0-7645-7908-0 ISBN-10: 0-7645-7908-8 Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 www.allitebooks.com About the Author Nicholas C. Zakas is a user interface designer for Web applications, specializing in client-side technolo- gies such as JavaScript, HTML, and CSS. Nicholas currently works as Senior Software Engineer, Design Engineering, at MatrixOne, Inc. located in Westford, Massachusetts, USA. Nicholas has a B.S. in Computer Science from Merrimack College, where he learned traditional pro- gramming in C and C++. During college, he began investigating the World Wide Web and HTML in his spare time, eventually teaching himself enough to be hired as Webmaster of a small software company named Radnet, Inc. in Wakefield, Massachusetts, USA. It was there that Nicholas began learning JavaScript and working on Web applications. Nicholas can be reached through his Web site, http://www.nczonline.net/. www.allitebooks.com Credits Vice President and Executive Group Publisher: Development Editor: Richard Swadley Sharon Nash Vice President and Publisher: Senior Production Editor: Joseph B. Wikert Angela Smith Acquisitions Editor: Technical Editor: Jim Minatel Jean-Luc David, Wiley-Dreamtech India Pvt Ltd Editorial Manager: Text Design & Composition: Mary Beth Wakefield Wiley Composition Services www.allitebooks.com Acknowledgments It takes more than just one person to write a book of this nature, despite the single name on the front cover. Without the help of numerous individuals, this book would not have been possible. First are foremost, thanks to everyone at Wiley Publishing, especially Jim Minatel and Sharon Nash, for providing all the guidance and support that a new author needs. Thanks to all those who offered their ideas on what a good JavaScript book should include: Keith Ciociola, Ken Fearnley, John Rajan, and Douglas Swatski. A special thanks to everyone who reviewed the subject matter ahead of time: Erik Arvidsson, Bradley Baumann, Guilherme Blanco, Douglas Crockford, Jean-Luc David, Emil A. Eklund, Brett Fielder, Jeremy McPeak, and Micha Schopman. All your input was excellent and made for a much better book. Thanks to Drs. Ed and Frances Bernard for keeping me in tip-top health during the writing of this book and the past few years. Last, but certainly not least, thanks to my family, mom, dad, and Greg, and my extremely understanding girlfriend, Emily. Your love and support helped take me from the proposal to the final published copy. vii www.allitebooks.com www.allitebooks.com Contents Acknowledgments vii Introduction xxi Chapter 1: What Is JavaScript? 1 A Short History 1 JavaScript Implementations 3 ECMAScript 3 The Document Object Model (DOM) 6 The Browser Object Model (BOM) 9 Summary 9 Chapter 2: ECMAScript Basics 11 Syntax 11 Variables 12 Keywords 15 Reserved Words 15 Primitive and Reference Values 15 Primitive Types 16 The typeof operator 16 The Undefined type 17 The Null type 18 The Boolean type 18 The Number type 18 The String type 20 Conversions 21 Converting to a string 22 Converting to a number 23 Type Casting 24 Reference Types 25 The Object class 26 The Boolean class 27 The Number class 27 ix Contents The String class 29 The instanceof operator 32 Operators 33 Unary operators 33 Bitwise operators 37 Boolean operators 43 Multiplicative operators 46 Additive operators 47 Relational operators 49 Equality operators 50 Conditional operator 52 Assignment operators 52 Comma operator 53 Statements 53 The if statement 53 Iterative statements 54 Labeled statements 56 The break and continue statements 56 The with statement 58 The switch statement 58 Functions 59 No overloading 61 The arguments object 62 The Function class 63 Closures 65 Summary 66 Chapter 3: Object Basics 67 Object-Oriented Terminology 67 Requirements of object-oriented languages 68 Composition of an object 68 Working with Objects 68 Declaration and instantiation 68 Object references 69 Dereferencing objects 69 Early versus late binding 69 Types of Objects 70 Native objects 70 Built-in objects 81 Host objects 87 x Contents Scope 88 Public, protected, and private 88 Static is not static 88 The this keyword 89 Defining Classes and Objects 90 Factory paradigm 90 Constructor paradigm 92 Prototype paradigm 93 Hybrid constructor/prototype paradigm 94 Dynamic prototype method 95 Hybrid factory paradigm 96 Which one to use? 97 A practical example 97 Modifying Objects 99 Creating a new method 99 Redefining an existing method 100 Very late binding 101 Summary 102 Chapter 4: Inheritance 103 Inheritance in Action 103 Implementing Inheritance 104 Methods of inheritance 105 A more practical example 111 Alternative Inheritance Paradigms 115 zInherit 116 xbObjects 120 Summary 124 Chapter 5: JavaScript in the Browser 125 JavaScript in HTML 125 The <script/> tag 125 External file format 126 Inline code versus external files 127 Tag placement 128 To hide or not to hide 129 The <noscript/> tag 130 Changes in XHTML 131 xi Contents JavaScript in SVG 133 Basic SVG 133 The <script/> tag in SVG 134 Tag placement in SVG 135 The Browser Object Model 136 The window object 136 The document object 149 The location object 153 The navigator object 155 The screen object 156 Summary 157 Chapter 6: DOM Basics 159 What Is the DOM? 159 Introduction to XML 159 An API for XML 162 Hierarchy of nodes 163 Language-Specific DOMs 166 DOM Support 167 Using the DOM 167 Accessing relative nodes 167 Checking the node type 169 Dealing with attributes 169 Accessing specific nodes 171 Creating and manipulating nodes 173 DOM HTML Features 178 Attributes as properties 178 Table methods 179 DOM Traversal 182 NodeIterator 182 TreeWalker 187 Detecting DOM Conformance 189 DOM Level 3 191 Summary 191 Chapter 7: Regular Expressions 193 Regular Expression Support 193 Using a RegExp object 194 Extended string methods 195 xii Contents Simple Patterns 197 Metacharacters 197 Using special characters 197 Character classes 199 Quantifiers 201 Complex Patterns 205 Grouping 205 Backreferences 206 Alternation 207 Non-capturing groups 209 Lookaheads 210 Boundaries 210 Multiline mode 212 Understanding the RegExp Object 212 Instance properties 213 Static properties 214 Common Patterns 216 Validating dates 216 Validating credit cards 218 Validating e-mail addresses 222 Summary
Recommended publications
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • Ubuntu Kung Fu
    Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
    [Show full text]
  • The Nokia Open Source Browser
    The Nokia Open Source Browser Guido Grassel1, Roland Geisler2, Elina Vartiainen1, Deepika Chauhan2, Andrei Popescu1 1Nokia Research Center, P.O. Box 407, 00045 Nokia Group, Finland 2Nokia Technology Platforms, 5 Wayside Road, Burlington, MA 01803, U.S.A, [guido.grassel, roland.geisler, elina.vartiainen, deepika.chauhan, andrei.popescu]@nokia.com ABSTRACT learned and benefits, and chapter 7 summarizes and makes final With the advent of faster wireless networks and more conclusions. capable mobile devices we expect to see growth in the mobile use of the Internet. In this paper we describe a new Web browser for 2. RELATED WORK mobile devices that we have built based on Open Source Software Both Web browsers licensed by Nokia as well as S60’s own components. Our goal was to design a full Web browser that is browser used Narrow Layout. Narrow Layout is a method easy to use, an architecture that is portable to other mobile whereby the Web page is reformatted into one column that fits the software platforms, and an Open Source development approach to width of a typically small handheld device display. This way, the give others the opportunity to further develop it or use it for need for horizontal scrolling is eliminated and the user will see all research purposes. We describe our technical implementation, the the content just by scrolling down. From our own experience usability features that we invented, and discuss the benefits and using these browsers, and based on usability studies [17] we Nokia's plans to work with the Open Source community to further concluded that this method was insufficient.
    [Show full text]
  • Rapid GUI Development with Qtruby
    Rapid GUI Development with QtRuby Caleb Tennis The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas BOOKLEET © Many of the designations used by manufacturers and sellers to distin- guish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Pro- grammer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Qt® is a registered trademark of Trolltech in Norway, the United States and other countries. Useful Friday Links • Source code from this book and Every precaution was taken in the preparation of this book. However, the other resources. publisher assumes no responsibility for errors or omissions, or for dam- • Free updates to this PDF • Errata and suggestions. To report ages that may result from the use of information (including program list- an erratum on a page, click the ings) contained herein. link in the footer. To see what we’re up to, please visit us at http://www.pragmaticprogrammer.com Copyright © 2006 The Pragmatic Programmers LLC. All rights reserved. This PDF publication is intended for the personal use of the individual whose name appears at the bottom of each page. This publication may not be disseminated to others by any means without the prior consent of the publisher. In particular, the publication must not be made available on the Internet (via a web server, file sharing network, or any other means).
    [Show full text]
  • Master Thesis Innovation Dynamics in Open Source Software
    Master thesis Innovation dynamics in open source software Author: Name: Remco Bloemen Student number: 0109150 Email: [email protected] Telephone: +316 11 88 66 71 Supervisors and advisors: Name: prof. dr. Stefan Kuhlmann Email: [email protected] Telephone: +31 53 489 3353 Office: Ravelijn RA 4410 (STEPS) Name: dr. Chintan Amrit Email: [email protected] Telephone: +31 53 489 4064 Office: Ravelijn RA 3410 (IEBIS) Name: dr. Gonzalo Ord´o~nez{Matamoros Email: [email protected] Telephone: +31 53 489 3348 Office: Ravelijn RA 4333 (STEPS) 1 Abstract Open source software development is a major driver of software innovation, yet it has thus far received little attention from innovation research. One of the reasons is that conventional methods such as survey based studies or patent co-citation analysis do not work in the open source communities. In this thesis it will be shown that open source development is very accessible to study, due to its open nature, but it requires special tools. In particular, this thesis introduces the method of dependency graph analysis to study open source software devel- opment on the grandest scale. A proof of concept application of this method is done and has delivered many significant and interesting results. Contents 1 Open source software 6 1.1 The open source licenses . 8 1.2 Commercial involvement in open source . 9 1.3 Opens source development . 10 1.4 The intellectual property debates . 12 1.4.1 The software patent debate . 13 1.4.2 The open source blind spot . 15 1.5 Litterature search on network analysis in software development .
    [Show full text]
  • Webkit and Blink: Open Development Powering the HTML5 Revolution
    WebKit and Blink: Open Development Powering the HTML5 Revolution Juan J. Sánchez LinuxCon 2013, New Orleans Myself, Igalia and WebKit Co-founder, member of the WebKit/Blink/Browsers team Igalia is an open source consultancy founded in 2001 Igalia is Top 5 contributor to upstream WebKit/Blink Working with many industry actors: tablets, phones, smart tv, set-top boxes, IVI and home automation. WebKit and Blink Juan J. Sánchez Outline The WebKit technology: goals, features, architecture, code structure, ports, webkit2, ongoing work The WebKit community: contributors, committers, reviewers, tools, events How to contribute to WebKit: bugfixing, features, new ports Blink: history, motivations for the fork, differences, status and impact in the WebKit community WebKit and Blink Juan J. Sánchez WebKit: The technology WebKit and Blink Juan J. Sánchez The WebKit project Web rendering engine (HTML, JavaScript, CSS...) The engine is the product Started as a fork of KHTML and KJS in 2001 Open Source since 2005 Among other things, it’s useful for: Web browsers Using web technologies for UI development WebKit and Blink Juan J. Sánchez Goals of the project Web Content Engine: HTML, CSS, JavaScript, DOM Open Source: BSD-style and LGPL licenses Compatibility: regression testing Standards Compliance Stability Performance Security Portability: desktop, mobile, embedded... Usability Hackability WebKit and Blink Juan J. Sánchez Goals of the project NON-goals: “It’s an engine, not a browser” “It’s an engineering project not a science project” “It’s not a bundle of maximally general and reusable code” “It’s not the solution to every problem” http://www.webkit.org/projects/goals.html WebKit and Blink Juan J.
    [Show full text]
  • Open Source Software Seminar — Konstantin Käfer Webkit
    WebKit Bug #17229 Konstantin Käfer 1 Open Source SoftwareOpen Seminar Source — Software Konstantin Seminar Käfer Outline ‣ Project Structure and Goals ‣ History ‣ Communication and Process ‣ People ‣ The Bug 2 Open Source Software Seminar — Konstantin Käfer WebKit GTK Android Google Symbian Chrome Safari Qt Toolkit 3 Open Source Software Seminar — Konstantin Käfer 1. Project Structure and Goals WebCore JavaScriptCore Rendering Engine JavaScript Engine WebKit { Wrapper 4 Open Source Software Seminar — Konstantin Käfer 1. Project Structure and Goals Goals ‣ Web Content Engine: mainly web, but also general- purpose display/interaction engine ‣ Portability: Make it usable on many platforms ‣ Hackability: Keep code easy and maintainable ‣ Usability: Use platform-native UI conventions 5 Open Source Software Seminar — Konstantin Käfer 2. History 2. History 1999: Started as KHTML (KDE project) 2002: Apple forked quietly 2005: Apple opens up development process Now: “Unforking” 6 Open Source Software Seminar — Konstantin Käfer 2. History Apple vs. KHTML ‣ Apple did only the minimum required by LGPL ‣ No access to internal CVS ‣ Changes are released as single large patches ‣ Lots of platform-specific code ‣ Only WebCore/JSCore, but not WebKit was released 7 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Mailing lists Bug tracker IRC Ticket Patch Review Commit 8 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Mailing lists ‣ webkit-dev: General discussion ‣ webkit-reviews: Receives all review requests ‣ webkit-changes: Receives all commit messages ‣ webkit-unassigned: All unassigned tickets ‣ webkitsdk-dev: Development on Mac OS X 9 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Bug tracker ‣ Bugzilla 10 Open Source Software Seminar — Konstantin Käfer 3.
    [Show full text]
  • The State of KHTML in the Beginning
    The State of KHTML In The Beginning... Why KHTML Is Important ● KHTML is critical to the success of KDE ● Provides a fast, light web browser and component that tightly integrates with KDE ● Gives us higher visibility as a project: “the web” is much larger than the Linux desktop community ● It's a great testcase for our existing infrastructure What We Have ● CSS 1 / 2 parts of 3 ● Java applets (modular) ● SSL ● ECMAScript 1.2 ● Wallet ● XHTML ● KDE integration ● HTML up to 4.x ● Basic LiveConnect ● “AJAX” support ● KJSEmbed derived ● NS plugin support from KJS What We Don't Have ● Internal SVG support ● DOM bindings to non- C++/non-JS ● Latest NSPlugin API support ● Opacity (Qt4 should help) ● XBL ● Lightweight widgets ● Content Editable KHTML – From Industry ● Great alternative to Gecko and Opera – small, fast, easy to understand, standards compliant ● In use in many embedded platforms as well as desktop browsers – Safari, Nokia, Omni, etc ● Forking is a problem ● Gaining respect from other browser vendors ● Could become a major player with enough 'unity' - >= 10% market share Can We Complete The “Merge”? ● “Merging” is not really feasible at this point ● Unity – a port of WebKit to Qt4: – KPart, KIO development is underway – Ca n co-exist with KHTML from KDE – Works 'now' – Abstraction layer in WebKit makes it relatively easy to port – Open questions: How do we avoid re-forking? How do we merge our own work? If We Go Unity, What Do We Gain? ● Support for many of the functions we lack as described earlier – XBL, content editable, etc ●
    [Show full text]
  • The Konqueror Handbook
    The Konqueror Handbook Pamela Roberts Developers: The KDE Team The Konqueror Handbook 2 Contents 1 Overview 6 2 Konqueror Basics7 2.1 Starting Konqueror . .7 2.2 The Parts of Konqueror . .8 2.3 Tooltips and What’s This? . .9 2.4 Left and Middle Mouse Button Actions . .9 2.5 Right Mouse Button Menus . 10 2.6 Viewing Help, Man and Info Pages . 11 3 Konqueror the File Manager 12 3.1 Folders and Paths . 12 3.2 View Modes . 12 3.2.1 File Tip Info . 13 3.2.2 File Previews . 13 3.2.3 Information in the View . 14 3.3 Folder View Properties . 14 3.3.1 The View Properties Dialog . 15 3.4 Navigation . 15 3.4.1 Finding Files and Folders . 16 3.4.2 Removable Devices . 16 3.5 Deleting Files and Folders . 17 3.6 Moving and Copying . 17 3.6.1 Using Drag ’n Drop . 18 3.6.2 Duplicate File or Folder Names . 18 3.7 Selecting Items in the View . 19 3.7.1 Selecting Items Using the Mouse . 19 3.7.2 Selecting Items Using the Keyboard . 19 3.7.3 Selecting Items Using the Menu . 20 3.8 Create New . 20 3.9 Changing Names and Permissions . 21 3.9.1 Copy and Rename . 21 3.10 Configuring File Associations . 22 3.11 At the Command Line . 22 The Konqueror Handbook 4 Konqueror the Web Browser 23 4.1 Connecting to the Internet . 23 4.2 Surfing and Searching . 24 4.3 Tabbed Browsing . 25 4.4 Web Shortcuts .
    [Show full text]
  • Glossary.Pdf
    2 Contents 1 Glossary 4 3 1 Glossary Technologies Akonadi The data storage access mechanism for all PIM (Personal Information Manager) data in KDE SC 4. One single storage and retrieval system allows efficiency and extensibility not possible under KDE 3, where each PIM component had its own system. Note that use of Akonadi does not change data storage formats (vcard, iCalendar, mbox, maildir etc.) - it just provides a new way of accessing and updating the data.</p><p> The main reasons for design and development of Akonadi are of technical nature, e.g. having a unique way to ac- cess PIM-data (contacts, calendars, emails..) from different applications (e.g. KMail, KWord etc.), thus eliminating the need to write similar code here and there.</p><p> Another goal is to de-couple GUI applications like KMail from the direct access to external resources like mail-servers - which was a major reason for bug-reports/wishes with regard to perfor- mance/responsiveness in the past.</p><p> More info:</p><p> <a href=https://community.kde.org/KDE_PIM/Akonadi target=_top>Akonadi for KDE’s PIM</a></p><p> <a href=https://en.wikipedia.org/wiki/Akonadi target=_top>Wikipedia: Akonadi</a></p><p> <a href=https://techbase.kde.org/KDE_PIM/Akonadi target=_top>Techbase - Akonadi</a> See Also "GUI". See Also "KDE". Applications Applications are based on the core libraries projects by the KDE community, currently KDE Frameworks and previously KDE Platform.</p><p> More info:</p><p> <a href=https://community.kde.org/Promo/Guidance/Branding/Quick_Guide/ target=_top>KDE Branding</a> See Also "Plasma".
    [Show full text]
  • Webkit in Qt and Qtopia (2008)
    WebKit in Qt and Qtopia February 2008 Abstract This whitepaper discusses the challenges faced when developing applications that re- quire dynamic user interfaces based on Web technologies. We describe why Trolltech has chosen WebKit as the preferred option for integration of Web technology in Qt applications, and describe benefits and possible use cases enabled by this integration. Contents 1. Executive Summary 2 2. Rationale 3 2.1. Web Technologies Provide Rich Experiences ................... 3 2.2. Simplifying the User Interface ........................... 3 3. The Trolltech Solution 4 4. Features Overview 5 4.1. Web Standards Support ............................... 5 4.2. Native Application Integration ........................... 6 5. In Depth: Technology Details 7 5.1. Examples ....................................... 7 5.2. Underlying Technologies .............................. 9 5.3. Future Improvements ................................ 10 6. Benefits 11 7. Use Cases 12 WebKit in Qt and Qtopia © 2008 Trolltech ASA 1. Executive Summary Forthcoming versions of Trolltech’s Qt and Qtopia products feature integration of the We- bKit open source rendering and scripting components. The Qt WebKit Integration abstracts the components with highly intuitive Qt APIs, and exploits Qt’s underlying infrastructure to retain its renowned cross-platform portability. The Qt WebKit Integration allows Web and native content to be easily merged on de- vices and in desktop applications, allowing new opportunities for service innovation. Use cases may include mixing Facebook content with local address book details, or populating a scripted idle screen weather widget with live updates. WebKit allows script based – as opposed to code based – development of a UI. This allows for faster design, code and test iterations than compiled code because there is less overhead for deployment.
    [Show full text]
  • KDE 4 – the Future of the K Desktop
    KDE 4 – the future of the K Desktop Beside KDE and GNOME, Mandriva 2008.1 contains also the future great evolution of the KDE desktop: KDE 4. The Mandriva 2008.1 is shipped with KDE 4.0.3, which can be seen as a technology preview of what will be the KDE 4 desktop. That’s why KDE 4 is not proposed by default and is not replacing KDE 3.5.9. DE 4 will be a major update of the KDE desktop featuring Kmany new technologies and some radical changes in the KDE underlying infrastructures. KDE 4 is based on Qt 4 which brings many improvements concerning the text handling (Arthur), graphical effects, performances improvements, Web- kit HTML engine integration. Many new infrastructure components have been introduced like Phonon for basic multimedia usage, Solid for hardware interaction and detection, or the new desktop shell Plasma (see Figure 1). For further informations you can visit the KDE 4 dedicated web pages: http://kde.org/announcements/ Figure 1. The default KDE 4 desktop 4.0/guide.php http://kde.org/announcements/ announce-4.0.3.php Installing and testing KDE 4 KDE 4 is provided for testing purposes. You are not supposed to use it as your default desktop. Indeed as this is a technology preview, don’t be surprised if you encounter some crashes or bugs. Installing KDE 4.0.3 Now the first thing to do before testing KDE is... installing KDE 4. Installing KDE 4 under Mandriva is very easy and straightforward. First, all the Man- driva official repositories need to be configured.
    [Show full text]