CSC 337, Fall 2013 the University of Arizona William H. Mitchell Whm@Cs

Total Page:16

File Type:pdf, Size:1020Kb

CSC 337, Fall 2013 the University of Arizona William H. Mitchell Whm@Cs Conclusion CSC 337, Fall 2013 The University of Arizona William H. Mitchell whm@cs CSC 337 Fall 2013, Conclusion Slide 1 Next steps with fundamentals Security Cross-browser issues Polyfills and shims CSS CSS 3 Sass (SyntacNcally Awesome Stylesheets) LESS (Leaner CSS) HTML5 Elements we didn't cover All that stuff under the umbrella (HTML slide 10) CSC 337 Fall 2013, Conclusion Slide 2 Next steps with PHP Learn more about the language! PHP Templang Engines Smarty Twig PHP Frameworks CakePHP CodeIgniter Laravel Symfony Yii Zend CSC 337 Fall 2013, Conclusion Slide 3 JavaScript Learn the language! Learning from jQuery—Maps jQuery to underlying JavaScript Frameworks AngularJS Backbone.js Ember YUI (Yahoo! User Interface Library) W3C Web Components (dra) Older stuff: Prototype script.aculo.us MooTools CSC 337 Fall 2013, Conclusion Slide 4 Other direcNons Java EE (Enterprise EdiNon) JavaServer Faces (JSF) Google Web Toolkit (GWT) Sencha Grails (using Groovy) Spring Framework Old stuff: Servlets (but sNll the foundaon!) JSP Struts A book that documents the progression of Java web apps: The Art of Java Web Development by Ford CSC 337 Fall 2013, Conclusion Slide 5 Other direcNons, conNnued Python Django TurboGears Flask CherryPy Ruby Rails Sinatra Scala Li Haskell Yesod CSC 337 Fall 2013, Conclusion Slide 6 Other direcNons, conNnued node.js JavaScript on the server ASP.NET Freedom from Choice with The Microso` Way PhoneGap Create mobile apps using HTML, CSS, and JavaScript Heading into the sunset (sadly) Adobe Flash and Flex Desktop, web, mobile apps with single codebase CSC 337 Fall 2013, Conclusion Slide 7 A big quesNon Is HTML + CSS + JavaScript + a backend really a good way to develop applicaons? CSC 337 Fall 2013, Conclusion Slide 8 .
Recommended publications
  • Lightweight Django USING REST, WEBSOCKETS & BACKBONE
    Lightweight Django USING REST, WEBSOCKETS & BACKBONE Julia Elman & Mark Lavin Lightweight Django LightweightDjango How can you take advantage of the Django framework to integrate complex “A great resource for client-side interactions and real-time features into your web applications? going beyond traditional Through a series of rapid application development projects, this hands-on book shows experienced Django developers how to include REST APIs, apps and learning how WebSockets, and client-side MVC frameworks such as Backbone.js into Django can power the new or existing projects. backend of single-page Learn how to make the most of Django’s decoupled design by choosing web applications.” the components you need to build the lightweight applications you want. —Aymeric Augustin Once you finish this book, you’ll know how to build single-page applications Django core developer, CTO, oscaro.com that respond to interactions in real time. If you’re familiar with Python and JavaScript, you’re good to go. “Such a good idea—I think this will lower the barrier ■ Learn a lightweight approach for starting a new Django project of entry for developers ■ Break reusable applications into smaller services that even more… the more communicate with one another I read, the more excited ■ Create a static, rapid prototyping site as a scaffold for websites and applications I am!” —Barbara Shaurette ■ Build a REST API with django-rest-framework Python Developer, Cox Media Group ■ Learn how to use Django with the Backbone.js MVC framework ■ Create a single-page web application on top of your REST API Lightweight ■ Integrate real-time features with WebSockets and the Tornado networking library ■ Use the book’s code-driven examples in your own projects Julia Elman, a frontend developer and tech education advocate, started learning Django in 2008 while working at World Online.
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Thanos Tsouanas --- C.V
    Curriculum Vitæ Thanos Tsouanas 02/05/2017 I Personal details hello photo full name: Athanasios (Thanos) Tsouanas date of birth: 22/02/1983 place of birth: Athens, Greece nationality: Hellenic office address: IMD, Universidade Federal do Rio Grande do Norte Av. Cap. Mor Gouveia, S/N CEP: 59063-400, Natal{RN, Brasil phone number: (+55) (84) 9 8106-9789 (mobile, Telegram, WhatsApp) email address: [email protected] personal website: http://www.tsouanas.org/ GitHub: http://github.com/tsouanas Spoken languages Greek (native); English (proficient); Brazilian Portuguese (fluent). I Studies & academic positions 2016 { Associate professor (permanent position) in Instituto Metr´opole Digital of Universidade Federal do Rio Grande do Norte (UFRN), Brazil. 2015 Postdoctoral researcher in the Mathematics Department of Universidade Federal do Rio Grande do Norte (UFRN), Brazil. 2014 PhD from Ecole´ Normale Superieure´ de Lyon, under the supervision of Olivier Laurent, in the field of theoretical computer science. I was employed by CNRS under the Marie Curie fellowship \MALOA", and had a 1-month secondment split between the University of Oxford (in the team of Luke Ong) and Ecole´ Polytechnique (in the team of Dale Miller). Thesis title: On the Semantics of Disjunctive Logic Programs1 2010 Master of Science degree from MPLA (graduate program in Logic, Algorithms and Computation of the University of Athens and of the Technical University of Athens),2 mathematical logic specialty, grade 8.23/10. 2007 Bachelor's degree from the Department of Mathematics of the University of Athens, specialty of pure mathematics, grade \excellent" (8.51/10). Seminars and schools • Logoi school on Linear Logic and Geometry of Interaction.
    [Show full text]
  • Pro ASP.NET MVC 3 Framework Third Edition
    Pro ASP.NET MVC 3 Framework Third Edition ADAM FREEMAN STEVEN SANDERSON ApressB Contents J About the Authors xxiii About the Technical Reviewer xxiv Acknowledgments xxv Part 1: Introducing ASP.NET MVC 3 1 Chapter 1: What's the Big Idea? 3 A Brief History of Web Development 3 Traditional ASP.NET Web Forms 5 What's Wrong with ASP.NET Web Forms? 6 Web Development Today 7 Web Standards and REST 7 Agile and Test-Driven Development 7 Ruby on Rails 8 Sinatra 8 Node.js 9 Key Benefits of ASP.NET MVC 9 MVC Architecture 10 Extensibility 10 Tight Control over HTML and HTTP 11 Testability 11 Powerful Routing System 11 Built on the Best Parts of the ASP.NET Platform 12 Modern API 12 ASP.NET MVC Is Open Source 13 Who Should Use ASP.NET MVC? 13 Comparisons with ASP.NET Web Forms 13 Migrating from Web Forms to MVC 14 Comparisons with Ruby on Rails 14 Comparisons with MonoRail 14 What's New in ASP.NET MVC 3 15 Summary 15 Chapter 2: Getting Ready 17 Preparing the Workstation , 17 Installing Visual Studio 2010 17 Installing the Essential Software 19 Installing Optional Components 21 Preparing the Server 22 Enabling the Web Server Role 23 Installing Additional Components 25 Setting up Web Deployment , 26 Getting Further Information 30 Summary 30 Chapter 3: Your First MVC Application 31 Creating a New ASP.NET MVC Project .31 Adding the First Controller 33 Understanding Routes 36 Rendering Web Pages 37 Creating and Rendering a View 37 Adding Dynamic Output 41 Creating a Simple Data-Entry Application 42 Setting the Scene 42 Designing a Data Model 43 Linking
    [Show full text]
  • WEB2PY Enterprise Web Framework (2Nd Edition)
    WEB2PY Enterprise Web Framework / 2nd Ed. Massimo Di Pierro Copyright ©2009 by Massimo Di Pierro. 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, 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-8600, or on the web at www.copyright.com. Requests to the Copyright owner for permission should be addressed to: Massimo Di Pierro School of Computing DePaul University 243 S Wabash Ave Chicago, IL 60604 (USA) Email: [email protected] Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created ore extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Library of Congress Cataloging-in-Publication Data: WEB2PY: Enterprise Web Framework Printed in the United States of America.
    [Show full text]
  • Technology Adoption in Input-Output Networks
    A Service of Leibniz-Informationszentrum econstor Wirtschaft Leibniz Information Centre Make Your Publications Visible. zbw for Economics Han, Xintong; Xu, Lei Working Paper Technology adoption in input-output networks Bank of Canada Staff Working Paper, No. 2019-51 Provided in Cooperation with: Bank of Canada, Ottawa Suggested Citation: Han, Xintong; Xu, Lei (2019) : Technology adoption in input-output networks, Bank of Canada Staff Working Paper, No. 2019-51, Bank of Canada, Ottawa This Version is available at: http://hdl.handle.net/10419/210791 Standard-Nutzungsbedingungen: Terms of use: Die Dokumente auf EconStor dürfen zu eigenen wissenschaftlichen Documents in EconStor may be saved and copied for your Zwecken und zum Privatgebrauch gespeichert und kopiert werden. personal and scholarly purposes. Sie dürfen die Dokumente nicht für öffentliche oder kommerzielle You are not to copy documents for public or commercial Zwecke vervielfältigen, öffentlich ausstellen, öffentlich zugänglich purposes, to exhibit the documents publicly, to make them machen, vertreiben oder anderweitig nutzen. publicly available on the internet, or to distribute or otherwise use the documents in public. Sofern die Verfasser die Dokumente unter Open-Content-Lizenzen (insbesondere CC-Lizenzen) zur Verfügung gestellt haben sollten, If the documents have been made available under an Open gelten abweichend von diesen Nutzungsbedingungen die in der dort Content Licence (especially Creative Commons Licences), you genannten Lizenz gewährten Nutzungsrechte. may exercise further usage rights as specified in the indicated licence. www.econstor.eu Staff Working Paper/Document de travail du personnel 2019-51 Technology Adoption in Input-Output Networks by Xintong Han and Lei Xu Bank of Canada staff working papers provide a forum for staff to publish work-in-progress research independently from the Bank’s Governing Council.
    [Show full text]
  • Switching from Rails to Sinatra
    Switching from Rails to Sinatra Rushi Shah 26 October 2015 So recently I created this little Ruby on Rails app that lets you embed your Github Contribution calendar into any HTML (or Markdown) as an image. I would show you a great example, but one of the downsides to PDFs generated with LaTeX is that you have to save the image locally (and in doing so, the magic of the app would be lost). However, if you want to see an awesome example, totally check out the github repo or just get your own on the site. It is simple, straightforward, but still pretty neat, if I do say so myself. But soon I decided to rewrite the application in Sinatra, and here's why. 1 Starting with Rails When I started this project, I dove in with rails because I had used it before on apps like a CNN article generator and a bookshelf. After I had my basic functionality down, the file structure looked like a typical rails app. For reference, here is the file structure at that point (created using tree). Gemfile Gemfile.lock README.rdoc Rakefile app assets images javascripts application.js chart.coffee stylesheets application.css chart.scss scaffolds.scss controllers application_controller.rb chart_controller.rb 1 concerns helpers application_helper.rb chart_helper.rb mailers models concerns views layouts application.html.erb bin bundle rails rake setup spring config application.rb boot.rb database.yml environment.rb environments development.rb production.rb test.rb initializers assets.rb backtrace_silencers.rb cookies_serializer.rb filter_parameter_logging.rb inflections.rb
    [Show full text]
  • What I Wish I Knew When Learning Haskell
    What I Wish I Knew When Learning Haskell Stephen Diehl 2 Version This is the fifth major draft of this document since 2009. All versions of this text are freely available onmywebsite: 1. HTML Version ­ http://dev.stephendiehl.com/hask/index.html 2. PDF Version ­ http://dev.stephendiehl.com/hask/tutorial.pdf 3. EPUB Version ­ http://dev.stephendiehl.com/hask/tutorial.epub 4. Kindle Version ­ http://dev.stephendiehl.com/hask/tutorial.mobi Pull requests are always accepted for fixes and additional content. The only way this document will stayupto date and accurate through the kindness of readers like you and community patches and pull requests on Github. https://github.com/sdiehl/wiwinwlh Publish Date: March 3, 2020 Git Commit: 77482103ff953a8f189a050c4271919846a56612 Author This text is authored by Stephen Diehl. 1. Web: www.stephendiehl.com 2. Twitter: https://twitter.com/smdiehl 3. Github: https://github.com/sdiehl Special thanks to Erik Aker for copyediting assistance. Copyright © 2009­2020 Stephen Diehl This code included in the text is dedicated to the public domain. You can copy, modify, distribute and perform thecode, even for commercial purposes, all without asking permission. You may distribute this text in its full form freely, but may not reauthor or sublicense this work. Any reproductions of major portions of the text must include attribution. The software is provided ”as is”, without warranty of any kind, express or implied, including But not limitedtothe warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authorsor copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, Arising from, out of or in connection with the software or the use or other dealings in the software.
    [Show full text]
  • Web Development India
    WEB DEVELOPMENT INDIA Similar sites like www.tutorialspoint.com www.w3schools.com www.java2s.com www.tizag.com www.mkyong.com www.codecademy.com www.roseindia.net docs.oracle.com/javase/tutorial/ www.stackoverflow.com tutorials.jenkov.com imp……………………………………………….. http://www.xislegraphix.com/website-types.html http://orthodoxdaily.com/types-of-websites/ http://webstyleguide.com/wsg3/1-process/6-types-of-sites.html http://www.virtualmv.com/wiki/index.php?title=Internet:Types_of_Website http://www.marketingcharts.com/wp/online/which-types-of-websites-do-most-americans-visit- frequently-37970/ http://www.2createawebsite.com/prebuild/website-needs.html http://www.tomakewebsite.com/types-of-websites.html http://one-blog-wonder.tumblr.com/post/29818346464/what-types-of-websites-are-there http://www.roseindia.net/services/webdesigning/corporatewebsitedesign/Different-Kinds-of- Website.shtml http://www.marketingprofs.com/charts/2013/12083/which-types-of-websites-are-visited-most- frequently http://webdesignpeeps.com/types-of-websites/ http://www.webdesignerdepot.com/2011/11/navigation-patterns-for-ten-common-types-of- websites/ http://www.teach-ict.com/gcse_new/software/web_design/miniweb/pg2.htm http://www.methodandclass.com/article/what-are-the-different-types-of-web-site http://www.webmasterview.com/2013/03/three-types-of-website/ http://www.chinkin.com/Web-Design/Types-of-Website http://www.designer-daily.com/8-types-of-sites-you-can-build-with-drupal-13924 http://www.mediatopia.co.uk/types-of-websites .................................................................................WEB
    [Show full text]
  • Ola Bini Computational Metalinguist [email protected] 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C
    JRuby For The Win Ola Bini computational metalinguist [email protected] http://olabini.com/blog 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C onsdag 12 juni 13 Logistics and Demographics onsdag 12 juni 13 LAST MINUTE DEMO onsdag 12 juni 13 JRuby Implementation of the Ruby language Java 1.6+ 1.8.7 and 1.9.3 compatible (experimental 2.0 support) Open Source Created 2001 Embraces testing Current version: 1.7.4 Support from EngineYard, RedHat & ThoughtWorks onsdag 12 juni 13 Why JRuby? Threading Unicode Performance Memory Explicit extension API and OO internals Libraries and legacy systems Politics onsdag 12 juni 13 InvokeDynamic onsdag 12 juni 13 JRuby Differences Most compatible alternative implementation Native threads vs Green threads No C extensions (well, some) No continuations No fork ObjectSpace disabled by default onsdag 12 juni 13 Simple JRuby onsdag 12 juni 13 Java integration Java types == Ruby types Call methods, construct instances Static generation of classes camelCase or snake_case .getFoo(), setFoo(v) becomes .foo and .foo = v Interfaces can be implemented Classes can be inherited from Implicit closure conversion Extra added features to Rubyfy Java onsdag 12 juni 13 Ant+Rake onsdag 12 juni 13 Clojure STM onsdag 12 juni 13 Web onsdag 12 juni 13 Rails onsdag 12 juni 13 Sinatra onsdag 12 juni 13 Trinidad onsdag 12 juni 13 Swing Swing API == large and complex Ruby magic simplifies most of the tricky bits Java is a very verbose language Ruby makes Swing fun (more fun at least) No consistent cross-platform GUI library for Ruby
    [Show full text]
  • Building Web Apps with Ember.Js
    Building Web Apps with Ember.js Building Web Apps with Ember.js with Apps Web Building If you’re a web developer interested in building scalable single-page applications—full-stack, browser-based apps that connect to a backend— this practical guide shows you how to use Ember.js, the popular JavaScript framework based on the model-view-controller (MVC) architectural pattern. Through the course of the book, you’ll learn how to build a prototype Ember application (a musician index called Rock’n’Roll Call), using routers, templates, models, controllers, and views. You’ll also understand how Ember’s convention over configuration approach helps you persist data, build backend technologies, and create widgets for developing production- capable applications that behave like desktop software. ■ Set up workflow management and boilerplate code creation ■ Learn how Ember’s “developer ergonomics” help you use less code ■ Write templates for the book’s prototype with Handlebars.js ■ Use routers to manage application states without reloading the page Building ■ Connect controllers and views with events, and sync data with data-binding ■ Build an Ember backend with a RESTful API or Ruby on Rails ■ Use the Ember Data library to persist data and talk to the Web Apps with backend ■ Write reusable encapsulated widgets to extend your applications Jesse Cravens, a principal web engineer at frog design, works with leading companies to design, engineer, and bring meaningful products and services to market. Jesse is currently focused on single-page web applications, the mobile web, and HTML5. Thomas Q Brady, Technology Director at Reaction, Inc., has built back-office Ember .js software, business simulations, interactive marketing, high-fidelity prototype Cravens hardware and software, Arduino-powered bluetooth caller ID watches, and web & Brady applications for clients and for fun.
    [Show full text]
  • Introducing Python
    Introducing Python Bill Lubanovic Introducing Python by Bill Lubanovic Copyright © 2015 Bill Lubanovic. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safaribooksonline.com). For more information, contact our corporate/ institutional sales department: 800-998-9938 or [email protected]. Editors: Andy Oram and Allyson MacDonald Indexer: Judy McConville Production Editor: Nicole Shelby Cover Designer: Ellie Volckhausen Copyeditor: Octal Publishing Interior Designer: David Futato Proofreader: Sonia Saruba Illustrator: Rebecca Demarest November 2014: First Edition Revision History for the First Edition: 2014-11-07: First release 2015-02-20: Second release See http://oreilly.com/catalog/errata.csp?isbn=9781449359362 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Introducing Python, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. 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 O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While the publisher and the author have used good faith efforts to ensure that the information and instruc‐ tions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work.
    [Show full text]