Ingineria Dezvoltării Aplicaţiilor Javascript

Total Page:16

File Type:pdf, Size:1020Kb

Ingineria Dezvoltării Aplicaţiilor Javascript inginerie inginerie în contextulsoftware Dr. Sabin Dr. Full - Stack Corneliu Buraga Buraga Web – profs.info.uaic.ro/~ Development JavaScript pics.me.me/story-of-every-project-after-3-months-initial-work-plan-57930917.png busaco / Dr. Sabin Buragaprofs.info.uaic.ro/~busaco busaco ~ “There are two ways to write error-free programs; / only the third one works.” profs.info.uaic.ro Alan J. Perlis Dr. Sabin Sabin Buraga Dr. busaco ~ / Ce instrumente software și biblioteci JS pot fi folosite în contextul programării Web? profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. instrumente busaco ~ / Editare de cod și dezvoltare de aplicații Web Depanare profs.info.uaic.ro Testare Documentare a codului Compresie Optimizare Sabin Buraga Dr. instrumente: editare busaco ~ / Editoare + medii integrate (IDE): Ace (Ajax.org Cloud9 Editor), Atom Editor, Brackets, CodeLite, Komodo, JS Development Tools (Eclipse), profs.info.uaic.ro Sublime Text, Visual Studio (Code), WebStorm etc. Dr. Sabin Sabin Buraga Dr. a se considera și github.com/sorrycc/awesome-javascript#editors instrumente: editare busaco ~ / Disponibile pe Web – în cloud: Cloud9 IDE, Codepen, JS Bin, JS Fiddle, Plunker, REPL.it,… profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. unele oferă și partajarea codului-sursă cu alți dezvoltatori instrumente: depanare busaco ~ / Utilizarea consolei JS obiectul console oferit de mediul de execuție profs.info.uaic.ro console.spec.whatwg.org (Living Standard, august 2019) metode utile: log (), error (), warn (), info (), assert (), time (), timeEnd (), trace (), group (), groupEnd (), table (), dir (), dirxml () Sabin Buraga Dr. instrumente: depanare busaco ~ / Utilizarea consolei JS obiectul console oferit de mediul de execuție profs.info.uaic.ro la nivel de browser Web developer.mozilla.org/Web/API/Console în contextul Node.js: modulul preinstalat console Sabin Buraga Dr. nodejs.org/api/console.html instrumente: depanare busaco ~ / profs.info.uaic.ro de studiat și M. Burgess, Beyond console.log(), 2018 medium.com/@mattburgess/beyond-console-log-2400fdf4a9d8 Dr. Sabin Sabin Buraga Dr. instrumente: depanare busaco ~ / Instrumentele de depanare profs.info.uaic.ro incluse în navigatoarele Web moderne: developers.google.com/web/tools/chrome-devtools/ developer.mozilla.org/docs/Tools docs.microsoft.com/en-us/microsoft-edge/devtools-guide docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium developer.apple.com/safari/tools/ Sabin Buraga Dr. inspecție de variabile instrumente(watch) : depanarestiva apelurilor domeniu de (call stack) busaco vizibilitate ~ / (scope) puncte de profs.info.uaic.ro oprire (breakpoints) puncte de oprire vizând transferuri asincrone, DOM, Dr. Sabin Sabin Buraga Dr. evenimente,… medium.com/datadriveninvestor/stopping-using-console-log-and-start-using-your-browsers-debugger-62bc893d93ff instrumente: depanare busaco ~ / Instrumentele de depanare profs.info.uaic.ro disponibile ca proxy exemple: HTTP Toolkit – github.com/httptoolkit mitmproxy – mitmproxy.org Sabin Buraga Dr. Telerik Fiddler – www.telerik.com/fiddler instrumente: testare busaco ~ / Verificarea corectitudinii codului JavaScript profs.info.uaic.ro construcția "use strict"; indică interpretorului că se va utiliza varianta strictă a limbajului disponibilă începând cu ECMAScript versiunea 5 Dr. Sabin Sabin Buraga Dr. developer.mozilla.org/Web/JavaScript/Reference/Strict_mode instrumente: testare busaco ~ / Verificarea corectitudinii codului JavaScript profs.info.uaic.ro erorile de programare (e.g., crearea accidentală a variabilelor globale, nume identice de proprietăți etc.) vor conduce la emiterea de excepții Dr. Sabin Sabin Buraga Dr. instrumente: testare busaco ~ / Verificarea corectitudinii codului JavaScript profs.info.uaic.ro sunt interzise diverse facilități: numere exprimate în baza 8, folosirea construcțiilor with, arguments.callee etc. Dr. Sabin Sabin Buraga Dr. instrumente: testare busaco ~ / Modul de procesare strict: profs.info.uaic.ro modifică semantica programelor este implicit folosit pentru modulele de cod ES6 module code is always strict mode code Dr. Sabin Sabin Buraga Dr. nu este impus de mediul de execuție instrumente: testare busaco ~ / Verificare statică a codului profs.info.uaic.ro JSHint – www.jshint.com ESLint – eslint.org JS Inspect (detects copy-pasted & structurally similar code) github.com/danielstjules/jsinspect Dr. Sabin Sabin Buraga Dr. "use strict"; varAiurea = "Ah!"; const C =instrumente 33; : testare let obiect = {prop: ++C, prop: true}; // eroare de sintaxă console.error (`{obiect}`); busaco ~ / profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. instrumente : testare reguli reguli ESHint Dr. Sabin Buragaprofs.info.uaic.ro/~busaco instrumente: testare busaco ~ / Suport pentru testare, inclusiv unit testing profs.info.uaic.ro exemplificări: AVA, Cypress, dom-testing-library, Flow, Jasmine, Jest, Mocha, PhantomJS, Qunit, Sinon.js, Tape, TestCafe etc. github.com/sorrycc/awesome-javascript#testing-frameworks Dr. Sabin Sabin Buraga Dr. de studiat și Let’s Code: Test-Driven JavaScript www.letscodejavascript.com instrumente: testare busaco ~ / Testare cross-browser a aplicațiilor Web profs.info.uaic.ro exemple: Browsera – www.browsera.com Browserling – www.browserling.com Browser Sandbox – turbo.net/browsers Browser Shots – browsershots.org Sabin Buraga Dr. instrumente: documentarea codului busaco ~ / Standarde de redactare a codului JavaScript profs.info.uaic.ro JavaScript Standard Style standardjs.com Code Conventions for JavaScript www.crockford.com/code.html Principles of Writing Consistent, Idiomatic JavaScript Sabin Buraga Dr. github.com/rwaldron/idiomatic.js instrumente: documentarea codului busaco ~ / Standarde de redactare a codului JavaScript ghiduri specifice – câteva exemple: Airbnb JavaScript Style Guide profs.info.uaic.ro github.com/airbnb/javascript Google JavaScript Style Guide google.github.io/styleguide/jsguide.html React Native Code Style facebook.github.io/react-native/docs/style.html Sabin Buraga Dr. NPM’s Coding Style docs.npmjs.com/misc/coding-style.html instrumente: documentarea codului busaco ~ / Standarde de redactare a codului JavaScript profs.info.uaic.ro instrumente utile (formatatoare a codului-sursă): JS Beautifier – jsbeautifier.org Prettier – prettier.io esformatter – github.com/millermedeiros/esformatter Dr. Sabin Sabin Buraga Dr. /** marcaje (adnotări) speciale * Class representing a dot. * @extends Point în cadrul comentariilor: */ class Dot extends Point { @abstract @author /** * Create a dot. @access @copyright busaco ~ * @param {number} x - The x value. @alias @license / * @param {number} y - The y value. @async @summary * @param {number} width - ... @extends @description */ @class @version constructor(x, y, width) { // ... @interface } @example @callback @since /** @event @see profs.info.uaic.ro * Get the dot's width. @emits @todo * @return {number} The dot's width. @listens @deprecated */ @function getWidth() { // ... @property } @module } @requires Sabin Buraga Dr. … documentarea codului: JSDoc Toolkit – usejsdoc.org instrumente: compresie de cod busaco ~ / Instrumente privind compresia/minimizarea profs.info.uaic.ro exemple: JSCompress – github.com/circlecell/jscompress.com Minify – www.minifier.org UglifyJS (Mihai Bazon, absolvent FII) – lisperator.net/uglifyjs/ Dr. Sabin Sabin Buraga Dr. instrumente: optimizare javascript busaco ~ / Transformarea codului JS într-unul optimizat profs.info.uaic.ro exemple: Closure Compiler (Google) – developers.google.com/closure Prepack (Facebook) – prepack.io Dr. Sabin Sabin Buraga Dr. detalii într-un curs separat instrumente: pachete busaco ~ / Managementul de pachete JavaScript profs.info.uaic.ro căutare, instalare, compilare, verificare a dependențelor exemple: Bower, jspm, npm, Yarn etc. Dr. Sabin Sabin Buraga Dr. github.com/sorrycc/awesome-javascript#package-managers instrumente: pachete busaco ~ / Managementul de pachete JavaScript profs.info.uaic.ro crearea de conglomerate de cod/resurse (bundles) exemplificări: browserify, Rollup (specific ES6), webpack Dr. Sabin Sabin Buraga Dr. github.com/sorrycc/awesome-javascript#bundlers instrumente: fluxuri de activități busaco ~ / Suport pentru fluxuri de activități (workflow-uri), eventual realizate automat profs.info.uaic.ro exemple: Brunch, Grunt, Yeoman, Phantom.js, Plop, Selenium Sabin Buraga Dr. instrumente: machete de redare busaco ~ / Sisteme de management al machetelor de redare a conținutului (templating engines) profs.info.uaic.ro exemplificări: Dust.js, EJS, Handlebars, Mustache.js,… Sabin Buraga Dr. github.com/sorrycc/awesome-javascript#templating-engines instrumente: programare busaco ~ / Biblioteci pentru programarea funcțională profs.info.uaic.ro Lodash – lodash.com Ramda – ramdajs.com Underscore – underscorejs.org Dr. Sabin Sabin Buraga Dr. resurse de interes la github.com/stoeffel/awesome-fp-js instrumente: programare busaco ~ / Biblioteci pentru programarea reactivă profs.info.uaic.ro vizează procesarea fluxurilor de date asincrone pe baza paradigmei funcționale adoptă șablonul de proiectare Observer Dr. Sabin Sabin Buraga Dr. www.learnrxjs.io instrumente: programare busaco ~ / Biblioteci pentru programarea reactivă profs.info.uaic.ro exemple: RxJS – github.com/ReactiveX/rxjs Cycle – cycle.js.org MobX – mobx.js.org Most.js – github.com/cujojs/most Sabin Buraga Dr. instrumente busaco ~ / Suport pentru creșterea performanței profs.info.uaic.ro asm.js (Mozilla, 2012—2014) subset JavaScript ce poate fi utilizat ca limbaj de nivel scăzut, eficient – în spiritul limbajului
Recommended publications
  • Purerl-Cookbook Documentation
    purerl-cookbook Documentation Rob Ashton Jun 17, 2021 Contents 1 The build process 3 1.1 Purerl (Server) Build...........................................3 1.2 Erlang (Server) Build..........................................3 1.3 Purescript (Client) Build.........................................4 2 Editors 9 2.1 Other editors...............................................9 3 Skeleton 13 3.1 Erlang.................................................. 13 3.2 Purerl................................................... 15 3.3 Purescript................................................. 17 4 Basic OTP 19 4.1 OTP Entry Point............................................. 19 4.2 OTP Supervisor............................................. 20 4.3 OTP Gen server............................................. 22 4.4 Dynamic Supervision Trees....................................... 23 5 Web Server 25 5.1 Stetson.................................................. 25 5.2 Stetson Routing............................................. 26 5.3 Stetson Handlers............................................. 28 5.4 Stetson Websockets........................................... 29 5.5 Stetson Streaming............................................ 30 6 Logging 33 6.1 Lager................................................... 33 6.2 Logger.................................................. 34 7 Messaging 37 7.1 Subscribing to Incoming messages (pseudo-example).......................... 37 7.2 Sending Outgoing Messages (pseudo example)............................. 38 8 Interop 47 8.1
    [Show full text]
  • Marcelo Camargo (Haskell Camargo) – Résumé Projects
    Marcelo Camargo (Haskell Camargo) – Résumé https://github.com/haskellcamargo [email protected] http://coderbits.com/haskellcamargo Based in Joinville / SC – Brazil Knowledge • Programming languages domain: ◦ Ada, AdvPL, BASIC, C, C++, C#, Clipper, Clojure, CoffeeScript, Common LISP, Elixir, Erlang, F#, FORTRAN, Go, Harbour, Haskell, Haxe, Hy, Java, JavaScript, Ink, LiveScript, Lua, MATLAB, Nimrod, OCaml, Pascal, PHP, PogoScript, Processing, PureScript, Python, Ruby, Rust, Self, Shell, Swift, TypeScript, VisualBasic [.NET], Whip, ZPL. • Markup, style and serialization languages: ◦ Markdown, reStructuredText, [X] HTML, XML, CSS, LESS, SASS, Stylus, Yaml, JSON, DSON. • Database management systems: ◦ Oracle, MySQL, SQL Server, IBM DB2, PostgreSQL. • Development for operating systems: ◦ Unix based, Windows (CE mobile included), Android, Firefox OS. • Parsers and compilers: ◦ Macros: ▪ Sweet.js, preprocessor directives. ◦ Parser and scanner generators: ▪ ANTLR, PEG.js, Jison, Flex, re2c, Lime. • Languages: ◦ Portuguese (native) ◦ English (native) ◦ Spanish (fluent) ◦ French (fluent) ◦ Turkish (intermediate) ◦ Chinese (mandarin) (intermediate) ◦ Esperanto (intermediate) Projects • Prelude AdvPL – a library that implements functional programming in AdvPL and extends its syntax to a more expressive one; it's a port of Haskell's Prelude; • Frida – a LISP dialect that runs on top of Node.js; • PHPP – A complete PHP preprocessor with a grammar able to identify and replace tokens and extend/modify the language syntax, meant to be implemented
    [Show full text]
  • Marketing Cloud Published: August 12, 2021
    Marketing Cloud Published: August 12, 2021 The following are notices required by licensors related to distributed components (mobile applications, desktop applications, or other offline components) applicable to the services branded as ExactTarget or Salesforce Marketing Cloud, but excluding those services currently branded as “Radian6,” “Buddy Media,” “Social.com,” “Social Studio,”“iGoDigital,” “Predictive Intelligence,” “Predictive Email,” “Predictive Web,” “Web & Mobile Analytics,” “Web Personalization,” or successor branding, (the “ET Services”), which are provided by salesforce.com, inc. or its affiliate ExactTarget, Inc. (“salesforce.com”): @formatjs/intl-pluralrules Copyright (c) 2019 FormatJS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    [Show full text]
  • Histcoroy Pyright for Online Information and Ordering of This and Other Manning Books, Please Visit Topwicws W.Manning.Com
    www.allitebooks.com HistCoroy pyright For online information and ordering of this and other Manning books, please visit Topwicws w.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Tutorials Special Sales Department Offers & D e al s Manning Publications Co. 20 Baldwin Road Highligh ts PO Box 761 Shelter Island, NY 11964 Email: [email protected] Settings ©2017 by Manning Publications Co. All rights reserved. Support No part of this publication may be reproduced, stored in a retrieval system, or Sign Out transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid­free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co. PO Box 761 Shelter Island, NY 11964 www.allitebooks.com Development editor: Cynthia Kane Review editor: Aleksandar Dragosavljević Technical development editor: Stan Bice Project editors: Kevin Sullivan, David Novak Copyeditor: Sharon Wilkey Proofreader: Melody Dolab Technical proofreader: Doug Warren Typesetter and cover design: Marija Tudor ISBN 9781617292576 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – EBM – 22 21 20 19 18 17 www.allitebooks.com HistPoray rt 1.
    [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]
  • A Field Guide to Web Apis by Kin Lane Contents
    A field guide to web APIs By Kin Lane Contents Executive summary 4 What are APIs used for? 5 Open data . 5 Websites . 5 Mobile . 5. Automobiles . 6. Homes and buildings . 6 Why are web APIs different? 7 They build on existing web architecture . 7. Intuitive resources . 7 Simplicity rules . 8. Easy to understand for developers and even nondevelopers . 8. Self-service resources . 8 . History of web APIs 9 Commerce . 9 . Social . 9 . Cloud computing . .9 . Mobile . .10 . What technology goes into an API? 11 REST . 11. JSON . 11 Security . 11 . Keys . 11 . Basic auth . 12 Open authorization . 12 . Webhooks . 12 Deploying your web API 13 Do-it-yourself approaches . 13 Cloud solutions . 13 . Enterprise gateways . 13 . Established practices for managing APIs 14 Self-service . 14 . Getting started . .14 . Documentation . 15 . Code samples . 15. 2 A field guide to web APIs Support and feedback loops . 15 . The legal aspect . 15. Developer dashboard . 16 Marketing and API evangelism 17 Goals . 17 User engagement . .17 . Blogging . 17 Landscape analysis . 18 . GitHub . .18 . Social . 18. Events . 19. The future of web APIs 20 API aggregation . 20 . Real-time APIs . 20. Backend as a Service (BaaS) . 20 . Automation . 20 Voice . 21. Internet of things . 21. Cloud trends 22 Maturity of IaaS layer . 22. Opportunities in the PaaS layer . .22 . Key takeaways 23 About Kin Lane 23 3 A field guide to web APIs Executive summary A new breed of web API has emerged, delivering a vision of a lightweight, low-cost approach to connect devices and allowing applications to exchange data efficiently. This research report is a field guide for web API providers, developers, and even nondevelopers .
    [Show full text]
  • Seamless Interoperability and Data Portability in the Social Web for Facilitating an Open and Heterogeneous Online Social Network Federation
    Seamless Interoperability and Data Portability in the Social Web for Facilitating an Open and Heterogeneous Online Social Network Federation vorgelegt von Dipl.-Inform. Sebastian Jürg Göndör geb. in Duisburg von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften - Dr.-Ing. - genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Thomas Magedanz Gutachter: Prof. Dr. Axel Küpper Gutachter: Prof. Dr. Ulrik Schroeder Gutachter: Prof. Dr. Maurizio Marchese Tag der wissenschaftlichen Aussprache: 6. Juni 2018 Berlin 2018 iii A Bill of Rights for Users of the Social Web Authored by Joseph Smarr, Marc Canter, Robert Scoble, and Michael Arrington1 September 4, 2007 Preamble: There are already many who support the ideas laid out in this Bill of Rights, but we are actively seeking to grow the roster of those publicly backing the principles and approaches it outlines. That said, this Bill of Rights is not a document “carved in stone” (or written on paper). It is a blog post, and it is intended to spur conversation and debate, which will naturally lead to tweaks of the language. So, let’s get the dialogue going and get as many of the major stakeholders on board as we can! A Bill of Rights for Users of the Social Web We publicly assert that all users of the social web are entitled to certain fundamental rights, specifically: Ownership of their own personal information, including: • their own profile data • the list of people they are connected to • the activity stream of content they create; • Control of whether and how such personal information is shared with others; and • Freedom to grant persistent access to their personal information to trusted external sites.
    [Show full text]
  • Coffeescript Accelerated Javascript Development.Pdf
    Download from Wow! eBook <www.wowebook.com> What readers are saying about CoffeeScript: Accelerated JavaScript Development It’s hard to imagine a new web application today that doesn’t make heavy use of JavaScript, but if you’re used to something like Ruby, it feels like a significant step down to deal with JavaScript, more of a chore than a joy. Enter CoffeeScript: a pre-compiler that removes all the unnecessary verbosity of JavaScript and simply makes it a pleasure to write and read. Go, go, Coffee! This book is a great introduction to the world of CoffeeScript. ➤ David Heinemeier Hansson Creator, Rails Just like CoffeeScript itself, Trevor gets straight to the point and shows you the benefits of CoffeeScript and how to write concise, clear CoffeeScript code. ➤ Scott Leberknight Chief Architect, Near Infinity Though CoffeeScript is a new language, you can already find it almost everywhere. This book will show you just how powerful and fun CoffeeScript can be. ➤ Stan Angeloff Managing Director, PSP WebTech Bulgaria Download from Wow! eBook <www.wowebook.com> This book helps readers become better JavaScripters in the process of learning CoffeeScript. What’s more, it’s a blast to read, especially if you are new to Coffee- Script and ready to learn. ➤ Brendan Eich Creator, JavaScript CoffeeScript may turn out to be one of the great innovations in web application development; since I first discovered it, I’ve never had to write a line of pure JavaScript. I hope the readers of this wonderful book will be able to say the same. ➤ Dr. Nic Williams CEO/Founder, Mocra CoffeeScript: Accelerated JavaScript Development is an excellent guide to Coffee- Script from one of the community’s most esteemed members.
    [Show full text]
  • Chapter 1: Introduction to the Pencil Code Environment
    Chapter 1: Introduction to the Pencil Code Environment In this manual we will show how to use Pencil Code to explore programming. Pencil Code is a free programming tool available at pencilcode.net. Pencil Code was developed by Google engineer David Bau together with his son Anthony Bau, with open-source contributions from many others. Two Ways of Looking at a Program There are two ways of viewing a program. A computer user sees a program by looking at its output. A programmer works with a program’s source code. In Pencil Code, the screen is split into two halves, with the source code on the left and the output on the right. You run programs by by pressing the “play” button in the middle. The Pencil Code interface splits the screen, showing source code on the left and output on the right. The play button in the center runs the code and produces output. Languages and Libraries in Pencil Code Pencil Code supports code in both blocks and text using mainstream web programming languages and useful libraries including: • HTML, the standard HyperText Markup Language for the web. • JavaScript, the standard programming language of web browsers. • CSS, the standard Cascading Style Sheet language for visual styles on the web. • jQuery, a popular library that simplifies programming interactive websites. • CoffeeScript, a language that lets you do more with less typing than JavaScript. • jQuery-turtle, which extends jQuery to simplify graphics and animation for novices. With Pencil Code, students can use these technologies to create web applications with global visibility and impact while exploring fundamental concepts in computational thinking.
    [Show full text]
  • Coffeescript Accelerated Javascript Development, Second Edition
    Extracted from: CoffeeScript Accelerated JavaScript Development, Second Edition This PDF file contains pages extracted from CoffeeScript, published by the Prag- matic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com. Note: This extract contains some colored text (particularly in code listing). This is available only in online versions of the books. The printed versions are black and white. Pagination might vary between the online and printed versions; the content is otherwise identical. Copyright © 2015 The Pragmatic Programmers, LLC. All rights reserved. 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, or otherwise, without the prior consent of the publisher. The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina CoffeeScript Accelerated JavaScript Development, Second Edition Trevor Burnham The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina Many of the designations used by manufacturers and sellers to distinguish 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 Programmer, Pragmatic Programming, Pragmatic Bookshelf, PragProg and the linking g device are trade- marks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun.
    [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]
  • Javascript Tomasz Pawlak, Phd Marcin Szubert, Phd Institute of Computing Science, Poznan University of Technology Presentation Outline
    INTERNET SYSTEMS JAVASCRIPT TOMASZ PAWLAK, PHD MARCIN SZUBERT, PHD INSTITUTE OF COMPUTING SCIENCE, POZNAN UNIVERSITY OF TECHNOLOGY PRESENTATION OUTLINE • What is JavaScript? • Historical Perspective • Basic JavaScript • JavaScript: The Good Parts • JavaScript: The Bad Parts • Languages that compile to JavaScript • ECMAScript 6 MODERN WEB APPLICATION DATABASE SERVER HTML defines structure and content, CSS sets the formatting and appearance, JavaScript adds interactivity to a webpage and allows to create rich web applications. WHY JAVASCRIPT? • JavaScript is the language of the web browser — it is the most widely deployed programming language in history • At the same time, it is one of the most despised and misunderstood programming languages in the world • The amazing thing about JavaScript is that it is possible to get work done with it without knowing much about the language, or even knowing much about programming. It is a language with enormous expressive power. It is even better when you know what you’re doing — JAVASCRIPT: THE GOOD PARTS , DOUGLAS CROCKFORD WHY JAVASCRIPT? • Q: If you had to start over, what are the technologies, languages, paradigms and platforms I need to be up- to-date and mastering in my new world of 2014? • A: Learn one language you can build large systems with AND also learn JavaScript. • JavaScript is the language of the web. The web will persist and the web will win. That's why I suggest you learn JavaScript — S C O T T HANSELMAN , 2 0 1 4 WHAT IS JAVASCRIPT? • JavaScript is a cross-platform, object-oriented, functional, lightweight, small scripting language. • JavaScript contains a standard library of built-in objects, such as Array and Math, and a core set of language elements such as operators, control structures, and statements.
    [Show full text]