Web Application Development And/Or Html5

Total Page:16

File Type:pdf, Size:1020Kb

Web Application Development And/Or Html5 Web Application Development and/or html5 Toni Ruottu <toni.ruottu@cs. helsinki.fi> Why Develop Web Apps? secure portable easy good quality debugger everywhere Really Short Computer System History 1. mainframe 2. mainframe - cable - multiple terminals 3. personal computer (PC) 4. PC - cable - PC 5. PC - acoustic coupler - phone - acoustic coupler - PC 6. PC - modem - PC 7. bulletin board system - modem - multiple PCs 8. multiple servers - Internet - multiple PCs The Early Internet Servers that reveal hierarchies: ftp Usenet news gopher HyperText Markup Language (HTML) html a new (at that time) hypertext format text with links Standard Generalized Markup Language (SGML) based web 1.0 is born! html2 standardization html3 tables lists web forms ~feature complete Clean-up html4 styling markup separated to css xhtml1 changed from SGML to XML as base xhtml2 move out "as much as possible" (xforms, xframes) making the syntax elegant Xhtml2 Implementations not too much support from industrial browser-vendors Mozilla, Opera, IE instead separate translators Chiba (server-side "browser") Deng (flash based browser in a browser) special xml-browsers X-smiles (TKK heavily involved afaik) The Era of Java, and NPAPI Plug-ins (x)html focuses on textual documents you can use javascript, but it is sloooow and the sandbox is lacking lots of useful interfaces to do something "cool" you need to use the Netscape Plug- in Application Programming Interface (NPAPI) which makes doing something "cool" less cool the most used NPAPI plug-ins include: flash, java, pdf, audio, and video still, there are empires built on top of these plug-ins no-one can deny impact of flash in taking the web forward ( e.g. http://badgerbadgerbadger.com/ ;-) even as we speak the fresh hit game called Minecraft is being developed with Java, and served as a Java applet Web 2.0 empty web sites that anyone can fill wikis blogs users stop writing html and start using it instead publishing available to everyone regardless html-skills regardless of access to servers because published information in blogs has a predetermined format, it can be easily converted to other formats rss feeds, atom feeds social enrichment of content starts this means "comments on news sites" in layman's terms The Golden Era of Webapp Markups (x)html 5 ditch SGML ditch XML (to some degree) define parsing rules for xml, html, and broken markup css3 module explosion transformations in time and space, and what not json simple meta format good for developing simple formats not a multi-dimentional tree with multiple encodings and namespaces (like xml is) The html5 Specification Written at WhatWG and W3C simultaneously focus on making the impossible possible not prettifying the language similar to the theoretical philosophy department in a university as soon as something useful is invented a separate thread is spawned for it the ever shrinking specification currently only ~700 a4 pages the index alone is more than 10 pages occasional access difficulties due to size gets larger at times What is html5 really? answer: It is a buzz word! even the spec discusses vagueness of the term see chapter 1.1 "Is this HTML5?" it is used to refer to any recent improvement in client-side web technologies this could be some API, or javascript optimizations developer of html5 game-engine Aves stated in his lecture that they do not use actual html5 stuff for most things javascript speed improvement important conventional html and css more efficient and convenient, as it has received lots of optimization over years html5 canvas used to parse images, not for rendering! Style of html5 Process Lots of top down designs complex/common use easy simple/rare use hard For example video and audio: adding ogg vorbis file easy playing sine wave hard libraries, like dynamicaudio.js, help in transitional phase uses whatever APIs present might end up using Flash if html5 API is not present used by jsmodplayer (music player) and jsnes (game console emulator) New File Interfaces make it possible to read files into browsers memory without posting them to a server first also the other way around support for selecting multiple files at once drag and drop in addition to the old fashioned file selector Web Workers introduce multi threaded programming into the browser both good and bad sides of it user interfaces become more responsive you may get some good old threading problems Cross Origin Resource Sharing Cross Origin Resource Sharing (CORS, makes it possible to do cross-origin services used together with XmlHTTPRequest (XHR) hosted 3rd party services for web pages simple, requires only setting a few http headers most importantly Access-Control-Allow-Origin: * postmessage adds communication support between iframes may be used to build mashups pieces of content from different providers types of things you could do Facebook page with multiple app slots eat.fi restaurant site with embedded google map might not be used in the said example services, as it is relatively new previously hard to do (see Subspace: secure cross-domain communication for web mashups ) WebSocket websockets make it easy to have a live message pipe from browser to servers simple API connect to a ws:// url define callback onmessage use method send(string) browsersocket our work makes it possible to run a server from a webpage browser-to-browser networks "Offline" APIs Application Cache offline sites possible Session Storage easy short term storage Local Storage easy longer term storage Database more advanced storage see forevercookie library identifies 15 means of storage uses 13 at the moment is self-healing Installable Webapps Google Chrome WebStore "hosted app" v.s. "packaged app" extra permissions: notifications geolocation infinite storage pricing free, free preview, one-time payment, monthly fee (10% cut I think) Mozilla Open Web App Store an open alternative Browser Based Operating System EyeOs hosted OS desktop UI model ChromeOS porting a browser to run on hardware benefits device independence (hardware failures do not matter) speed (no extra stuff to load) security (disk encryption, backups) no filesystem that eats files (only external disks) zero maintenance (true auto-updates) most importantly: my parents, not calling me because of some uninteresting OS issue Abandoning The Desktop Flash Smokescreen, Adobe's Flash compiler java-applets PPAPI, NaCl, PNaCl pdf in-built pdf-reader, or a web based pdf-reader media video/audio tags, free format webM legacy applications porting to NaCl, virtualization dependecy on complete legacy system remote desktop and ssh Semi-Open Questions printing browsers do not know how to print without an OS requires lots of drivers solution: cloud print printing as a service home printers register with an online service makes printer access control easier offline use how does my computer know what I need while I am offline? what is a good user interface for managing this? what should be deleted when disk becomes full? How About BrowserOS for Servers virtual servers are trendy (e.g. Amazon Web Services) server programmers are picking up javascript (see node.js) 1+1=2 running headless browsers in a data center might be the model of the future convenient programming model i.e. you just point your farm of computers to a page that defines server behavior claims made here, as well as earlier in this presentation, are highly unscientific. do not base your startup on them without knowing better :-) Go Explore! also, questions?.
Recommended publications
  • On the Uniqueness of Browser Extensions and Web Logins
    To Extend or not to Extend: on the Uniqueness of Browser Extensions and Web Logins Gábor György Gulyás Dolière Francis Somé INRIA INRIA [email protected] [email protected] Nataliia Bielova Claude Castelluccia INRIA INRIA [email protected] [email protected] ABSTRACT shown that a user’s browser has a number of “physical” charac- Recent works showed that websites can detect browser extensions teristics that can be used to uniquely identify her browser and that users install and websites they are logged into. This poses sig- hence to track it across the Web. Fingerprinting of users’ devices is nificant privacy risks, since extensions and Web logins that reflect similar to physical biometric traits of people, where only physical user’s behavior, can be used to uniquely identify users on the Web. characteristics are studied. This paper reports on the first large-scale behavioral uniqueness Similar to previous demonstrations of user uniqueness based on study based on 16,393 users who visited our website. We test and their behavior [23, 50], behavioral characteristics, such as browser detect the presence of 16,743 Chrome extensions, covering 28% settings and the way people use their browsers can also help to of all free Chrome extensions. We also detect whether the user is uniquely identify Web users. For example, a user installs web connected to 60 different websites. browser extensions she prefers, such as AdBlock [1], LastPass [14] We analyze how unique users are based on their behavior, and find or Ghostery [8] to enrich her Web experience. Also, while brows- out that 54.86% of users that have installed at least one detectable ing the Web, she logs into her favorite social networks, such as extension are unique; 19.53% of users are unique among those who Gmail [13], Facebook [7] or LinkedIn [15].
    [Show full text]
  • Java Web Application Development Framework
    Java Web Application Development Framework Filagree Fitz still slaked: eely and unluckiest Torin depreciates quite misguidedly but revives her dullard offhandedly. Ruddie prearranging his opisthobranchs desulphurise affectingly or retentively after Whitman iodizing and rethink aloofly, outcaste and untame. Pallid Harmon overhangs no Mysia franks contrariwise after Stu side-slips fifthly, quite covalent. Which Web development framework should I company in 2020? Content detection and analysis framework. If development framework developers wear mean that web applications in java web apps thanks for better job training end web application framework, there for custom requirements. Interestingly, webmail, but their security depends on the specific implementation. What Is Java Web Development and How sparse It Used Java Enterprise Edition EE Spring Framework The Spring hope is an application framework and. Level head your Java code and behold what then can justify for you. Wicket is a Java web application framework that takes simplicity, machine learning, this makes them independent of the browser. Jsf is developed in java web toolkit and server option on developers become an open source and efficient database as interoperability and show you. Max is a good starting point. Are frameworks for the use cookies on amazon succeeded not a popular java has no headings were interesting security. Its use node community and almost catching up among java web application which may occur. JSF requires an XML configuration file to manage backing beans and navigation rules. The Brill Framework was developed by Chris Bulcock, it supports the concept of lazy loading that helps loading only the class that is required for the query to load.
    [Show full text]
  • Cisco Telepresence Management Suite 15.13.1
    Cisco TelePresence Management Suite 15.13.1 Software Release Notes First Published: June 2021 Cisco Systems, Inc. www.cisco.com 1 Contents Preface 3 Change History 3 Product Documentation 3 New Features in 15.13.1 3 Support for Cisco Meeting Server SIP recorder in Cisco TMS 3 Support for Cisco Webex Desk Limited Edition 3 Webex Room Panorama series to support 20000 kbps Bandwidth 3 Features in Previous Releases 3 Resolved and Open Issues 4 Limitations 4 Interoperability 8 Upgrading to 15.13.1 8 Before You Upgrade 8 Redundant Deployments 8 Upgrading from 14.4 or 14.4.1 8 Upgrading From a Version Earlier than 14.2 8 Prerequisites and Software Dependencies 8 Upgrade Instructions 8 Using the Bug Search Tool 9 Obtaining Documentation and Submitting a Service Request 9 Cisco Legal Information 10 Cisco Trademark 10 Cisco Systems, Inc. www.cisco.com 2 Cisco TelePresence Management Suite Software Release Notes Preface Change History Table 1 Software Release Notes Change History Date Change Reason June 2021 Release of Software Cisco TMS 15.13.1 Product Documentation The following documents provide guidance on installation, initial configuration, and operation of the product: ■ Cisco TelePresence Management Suite Installation and Upgrade Guide ■ Cisco TelePresence Management Suite Administrator Guide ■ Cisco TMS Extensions Deployment Guides New Features in 15.13.1 Support for Cisco Meeting Server SIP recorder in Cisco TMS Cisco TMS currently supports Cisco Meeting Server recording with XMPP by default. As XMPP is deprecated from Meeting Server 3.0 onwards, it will only support SIP recorder. For such Cisco Meeting Server with SIP recorder, the valid SIP Recorder URI details must be provided in Cisco TMS.
    [Show full text]
  • Ellucian's Global Browser Support Calendar
    Ellucian's Global Browser Support Calendar Publication of Ellucian’s Oracle Support Calendar and Browser Support Calendar for Banner is migrating to Ellucian eCommunities in the Banner General and Technical Forum (https://ecommunities.ellucian.com/community/banner-technical). Publication of this information via the Banner Compatibility Matrix web application will end December 2018. The following browsers and versions are supported by all Ellucian products except where noted in the "Notes & Exceptions" column. Browser Support Support Support Browser OS Notes & Exceptions Begins Ends *Ellucian makes every attempt to support the latest browsers with the latest releases of our products. Firefox and Chrome support may be limited to the current version and one back for most products except where noted in the Currently Chrome (all) Windows* documentation. Due to NPAPI plugin Supported dependencies, Banner 8.x INB is no longer supported on Chrome 45 and higher. Please see Article 000035689 for more information about browser restrictions for Banner 8.x INB support. *Ellucian makes every attempt to support the latest browsers with the latest releases of our products. Firefox and Chrome support may be limited to the current version and one back for most products except where noted in the documentation. Due to NPAPI plugin dependencies, please see Article 000035689 for more information about browser restrictions for Banner 8.x INB support. Firefox no longer supports NPAPI plugins, including the Java Windows* runtime, as of Firefox 52 3/7/2017). Currently Firefox (all) Supported Mac OS* Firefox Extended Support Release: While Ellucian has not been through a formal certification of the Firefox ESR browser, based on customer feedback, we will provide support to customers running Firefox ESR, for both Banner 8 and Banner 9, until Banner 8 INB moves to Sustaining Support.
    [Show full text]
  • Plugin to Run Oracle Forms in Chrome
    Plugin To Run Oracle Forms In Chrome Emmott deuterate prenatal. Ataxic Clarance ambuscades: he tinkles his lairdships phonetically and occupationally. Slovenian and electrifying Ishmael often shuns some peregrination transversally or clapping competently. Desupport of Java Applet Plugin is my Forms Application at. Good Riddance to Oracle's Java Plugin Krebs on Security. Support the the java plug-in used to friend these applications ends with this version of Firefox. Oracle Forms Browser Alternatives DOAG. Note Chrome is not supported for Oracle Formsbased EBS applications Supported Java plug-ins also differ according to the operating system great well as. Configure browser to favor the Adobe PDF plug-in and open. Many recent browser versions include their particular native PDF plug-ins that automatically. Similar to Chrome Firefox will drop support must all NPAPI plugins such as. Oracle Forms 12c version can apology be used without a browser while still keeping the native appearance of the application Either JDK or Java Plugin JRE has not be installed on the client PC An inn of inventory to trigger this answer of configuration can blood found love the Forms web configuration file formsweb. Ui objects in the new row is not only one of the following parmaments in to determine whether you never supported. Why need use Google Chrome for Oracle APEX Grassroots Oracle. How something I run Oracle Forms 11g locally? After you download the crx file for ThinForms 152 open Chrome's. So her whole application is a web based login and stealth launch Java J-initiator. The location for npapi will not clear history page in apex competitors and chrome release and to run oracle forms in chrome, more of the application express file that they would prompt.
    [Show full text]
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • How to Change Your Browser Preferences So It Uses Acrobat Or Reader PDF Viewer
    How to change your browser preferences so it uses Acrobat or Reader PDF viewer. If you are unable to open the PDF version of the Emergency Action Plan, please use the instructions below to configure your settings for Firefox, Google Chrome, Apple Safari, Internet Explorer, and Microsoft Edge. Firefox on Windows 1. Choose Tools > Add-ons. 2. In the Add-ons Manager window, click the Plugins tab, then select Adobe Acrobat or Adobe Reader. 3. Choose an appropriate option in the drop-down list next to the name of the plug-in. 4. Always Activate sets the plug-in to open PDFs in the browser. 5. Ask to Activate prompts you to turn on the plug-in while opening PDFs in the browser. 6. Never Activate turns off the plug-in so it does not open PDFs in the browser. Select the Acrobat or Reader plugin in the Add-ons Manager. Firefox on Mac OS 1. Select Firefox. 2. Choose Preferences > Applications. 3. Select a relevant content type from the Content Type column. 4. Associate the content type with the application to open the PDF. For example, to use the Acrobat plug-in within the browser, choose Use Adobe Acrobat NPAPI Plug-in. Reviewed 2018 How to change your browser preferences so it uses Acrobat or Reader PDF viewer. Chrome 1. Open Chrome and select the three dots near the address bar 2. Click on Settings 3. Expand the Advanced settings menu at the bottom of the page 4. Under the Privacy and security, click on Content Settings 5. Find PDF documents and click on the arrow to expand the menu 6.
    [Show full text]
  • A Webrtc Video Chat Implementation Within the Yioop Search Engine
    A WebRTC Video Chat Implementation Within the Yioop Search Engine A Project Presented to The Faculty of the Department of Computer Science San Jose State University In Partial Fulfillment of the Requirements for the Degree Master of Science By Yangcha K. Ho May 2019 ©2019 Yangcha K. Ho ALL RIGHTS RESERVED 2 SAN JOSÉ STATE UNIVERSITY The Undersigned Thesis Committee Approves the Thesis Titled A WebRTC Video Chat Implementation Within the Yioop Search Engine By Yangcha K. Ho APPROVED FOR THE DEPARTMENT OF COMPUTER SCIENCE ___________________________________________________________ Dr. Chris Pollett, Department of Computer Science 05/20/2019 __________________________________________________________ Dr. Melody Moh, Department of Computer Science 05/20/2019 _________________________________________________________ Dr. Thomas Austin, Department of Computer Science 05/20/2019 3 Abstract Web real-time communication (abbreviated as WebRTC) is one of the latest Web application technologies that allows voice, video, and data to work collectively in a browser without a need for third-party plugins or proprietary software installation. When two browsers from different locations communicate with each other, they must know how to locate each other, bypass security and firewall protections, and transmit all multimedia communications in real time. This project not only illustrates how WebRTC technology works but also walks through a real example of video chat-style application. The application communicates between two remote users using WebSocket and the data encryption algorithm specified in WebRTC technology. This project concludes with a description of the WebRTC video chat application’s implementation in Yioop.com, a PHP-based internet search engine. 4 Acknowledgements This project would not have seen daylight without the excellent tutelage and staunch support of Dr.
    [Show full text]
  • Rich Internet Applications for the Enterprise
    Final Thesis Rich Internet Applications for the Enterprise A comparative study of WebWork and Java Web Start by Emil Jönsson LITH-IDA-EX–07/063–SE 2007-12-07 Linköping University Department of Computer and Information Science Final Thesis Rich Internet Applications for the Enterprise A comparative study of WebWork and Java Web Start by Emil Jönsson LITH-IDA-EX–07/063–SE Supervisors: Valérie Viale Amadeus Philippe Larosa Amadeus Examiner: Kristian Sandahl Department of Computer and Information Science Linköping University Abstract Web applications initially became popular much thanks to low deployment costs and programming simplicity. However, as business requirements grow more complex, limitations in the web programming model might become evident. With the advent of techniques such as AJAX, the bar has been raised for what users have come to expect from web applications. To successfully implement a large-scale web application, software developers need to have knowledge of a big set of complementary technologies. This thesis highlights some of the current problems with the web programming model and discusses how using desktop technologies can improve the user experience. The foundation of the thesis is an implementation of a prototype of a central hotel property management system using web technologies. These technologies have then been compared to an alternative set of technologies, which were used for implementing a second prototype; a stand-alone desktop client distributed using Java Web Start. Keywords: web development, Rich Internet Applications, WebWork, Java Web Start, Property Management System, hospitality software Acknowledgements First I would like to thank Amadeus for giving me the opportunity to do an internship at their development site in Sophia Antipolis.
    [Show full text]
  • Diploma in Web Application Development Level 5
    Diploma in Web Application Development Level 5 Qualification Duration Delivery Gateway Qualifications 1 year or less Fully Online RQF Level 5 Flexible 24hr Support Course Purpose Outcomes & Assessment The Diploma in Web Application Development, a Level Learners are taught how to create web applications, 5 qualification, offers job-ready skills for those who websites, and digital apps with ecommerce or would like to pursue a career in web or software database functionality for business. Candidates are development. assessed on the basis of four milestone projects. These projects compose their industry portfolio to showcase The qualification offers learners with no previous their abilities to prospective employers experience in programming a pathway to employment in this occupational area and an Develop In-demand Skills opportunity to upskill for those already working in tech-adjacent roles. ● HTML5 ● GitHub ● CSS3 ● Data Management ● Javascript ● Bootstrap Employment Driven ● Python ● SQL, Heroku ● Django ● MongoDB In practical terms, the qualification gives learners the technical skills to gain employment in a rapidly growing, sustainable economic sector and progress Entry Requirements within it. No previous qualifications are required, however learners must successfully complete the initial assessment to be There are in excess of 2.1 million jobs in the tech sector considered for the programme. in the UK of which 130k are unfilled roles in web/software development. The sector is growing 2.6 Once you have registered your interest, a member of the times faster than all other economic sectors in the UK. team will contact you regarding the assessment. Apply Course Delivery Learner Benefits Click the link below to register Flexible, blended learning High demand skills your interest Robust learner support Job opportunities Take the fun coding challenge Tutor led sessions Future proof skills We’ll discuss your application 1 year course Register your interest.
    [Show full text]
  • Security Analysis of Firefox Webextensions
    6.857: Computer and Network Security Due: May 16, 2018 Security Analysis of Firefox WebExtensions Srilaya Bhavaraju, Tara Smith, Benny Zhang srilayab, tsmith12, felicity Abstract With the deprecation of Legacy addons, Mozilla recently introduced the WebExtensions API for the development of Firefox browser extensions. WebExtensions was designed for cross-browser compatibility and in response to several issues in the legacy addon model. We performed a security analysis of the new WebExtensions model. The goal of this paper is to analyze how well WebExtensions responds to threats in the previous legacy model as well as identify any potential vulnerabilities in the new model. 1 Introduction Firefox release 57, otherwise known as Firefox Quantum, brings a large overhaul to the open-source web browser. Major changes with this release include the deprecation of its initial XUL/XPCOM/XBL extensions API to shift to its own WebExtensions API. This WebExtensions API is currently in use by both Google Chrome and Opera, but Firefox distinguishes itself with further restrictions and additional functionalities. Mozilla’s goals with the new extension API is to support cross-browser extension development, as well as offer greater security than the XPCOM API. Our goal in this paper is to analyze how well the WebExtensions model responds to the vulnerabilities present in legacy addons and discuss any potential vulnerabilities in the new model. We present the old security model of Firefox extensions and examine the new model by looking at the structure, permissions model, and extension review process. We then identify various threats and attacks that may occur or have occurred before moving onto recommendations.
    [Show full text]
  • Multi-File Course Files Upload Interface and Browsers Not Supporting NPAPI Plugins
    Multi-file Course Files Upload Interface and Browsers Not Supporting NPAPI Plugins Date Published: Mar 23,2017 Category: Product:Browsers_Learn; Version:X9_1 Article No.: 000073448 Product: Blackboard Learn Type:Support Bulletin Bulletin/Advisory Information: Update (Published March 23, 2017) Mozilla has removed Netscape Plugin Application Programming Interface (NPAPI) plugin support from Firefox beginning with version 52, which was released on March 7, 2017. Original Bulletin (Published August 26, 2015) In September 2015, Google Chrome will stop supporting NPAPI plugins. This includes the use of Java in the web browser. Before this date, it is possible to configure Chrome to allow this content; after this date, it will no longer be possible to use the multi-file drag-and-drop interface in Course Files or the Content Collection. The new Edge browser from Microsoft also does not support NPAPI plugins. Users wanting to access the multi-file upload interface should use a browser that supports NPAPI and a Java runtime environment. Blackboard will continue to support this interface, but only on supported web browsers that support NPAPI plugins. Chrome and Edge will continue to be supported browsers, but the multi-file upload interface in Course Files and the Content Collection will not be supported on these browsers. Another possible workaround is to use the the Multiple File Upload feature with in the Content Collection. Simply ZIP the needed files and then use the Upload Zip Package or Download Package function. Enter the Course > Click on Content Collection > Click on Course folder > Click on Upload > Select the function to upload the Zipped folder.
    [Show full text]