Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy.

Similar presentations


Presentation on theme: "Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy."— Presentation transcript:

1 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Textbook to be published by Pearson Ed in early 2014 http://www.funwebdev.com Fundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar © 2015 Pearson http://www.funwebdev.com Just Enough JavaScript Chapter 6 and 15

2 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar WHAT IS JAVASCRIPT Section 1 of 8

3 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar What is JavaScript JavaScript runs right inside the browser JavaScript is dynamically typed JavaScript is object oriented in that almost everything in the language is an object the objects in JavaScript are prototype-based rather than class- based, which means that while JavaScript shares some syntactic features of PHP, Java or C#, it is also quite different from those languages.

4 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar What isn’t JavaScript Although it contains the word Java, JavaScript and Java are vastly different programming languages with different uses. Java is a full-fledged compiled, object- oriented language, popular for its ability to run on any platform with a JVM installed. Conversely, JavaScript is one of the world’s most popular languages, with fewer of the object-oriented features of Java, and runs directly inside the browser, without the need for the JVM. It’s not Java

5 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Client-Side Scripting Let the client compute

6 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Client-Side Scripting There are many advantages of client-side scripting: Processing can be offloaded from the server to client machines, thereby reducing the load on the server. The browser can respond more rapidly to user events than a request to a remote server ever could, which improves the user experience. JavaScript can interact with the downloaded HTML in a way that the server cannot, creating a user experience more like desktop software than simple HTML ever could. It’s good

7 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Client-Side Scripting The disadvantages of client-side scripting are mostly related to how programmers use JavaScript in their applications. There is no guarantee that the client has JavaScript enabled The idiosyncrasies between various browsers and operating systems make it difficult to test for all potential client configurations. What works in one browser, may generate an error in another. JavaScript-heavy web applications can be complicated to debug and maintain. There are challenges

8 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Client-Side Flash JavaScript is not the only type of client-side scripting. Browser Plug-ins Flash

9 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Client-Side Applets Java applets are written in and are separate objects included within an HTML document via the tag Java Applets

10 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar

11 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar JavaScript History JavaScript was introduced by Netscape in their Navigator browser back in 1996. JavaScript is in fact an implementation of a standardized scripting language called ECMAScript JavaScript was only slightly useful, and quite often, very annoying to many users

12 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Sample Javascript document.getElementById("loginForm").onsubmit = function(e) { var fieldValue=document.getElementByID("username").value; if (fieldValue==null || fieldValue== ""){ // the field was empty. Stop form submission e.preventDefault(); // Now tell the user something went wrong alert("you must enter a username"); } } This defines an anonymous function that will get called when the form with the name loginForm is submitted.

13 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Javascript Some typical uses for Javascript: Form validation checking Opening window / closing window Dynamically changing CSS properties (e.g. hide/showing content) based on user actions Asynchronously requesting data from server (AJAX)*** Create user experiences akin to desktop applications Animations, games, maps, etc. Analytics and advertising What is it good for?

14 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Asynchronous Javascript This has been the driving force in the wide-spread adoption of Javascript starting around 2007-2009. To understand we have to refresh our knowledge about regular synchronous HTTP communication.

15 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar HTTP request-response loop Without JavaScript

16 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar HTTP request-response loop Detail

17 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar JavaScript in Modern Times JavaScript became a much more important part of web development in the mid 2000s with AJAX. AJAX is both an acronym as well as a general term. As an acronym it means Asynchronous JavaScript And XML. The most important feature of AJAX sites is the asynchronous data requests. AJAX

18 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Asynchronous data requests The better AJAX way

19 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Frameworks Lots of this is done for you, once you get the basics

20 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar WHERE DOES JAVASCRIPT GO? Section 2 of 8

21 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Where does JavaScript go? JavaScript can be linked to an HTML page in a number of ways. Inline Embedded External

22 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Inline JavaScript Inline JavaScript refers to the practice of including JavaScript code directly within certain HTML attributes Inline JavaScript is a real maintenance nightmare Mash it in

23 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Embedded JavaScript Embedded JavaScript refers to the practice of placing JavaScript code within a element Better

24 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar External JavaScript JavaScript supports this separation by allowing links to an external file that contains the JavaScript. By convention, JavaScript external files have the extension.js and are referenced within the element. Better

25 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar External JavaScript In order to ensure the use of the most current version of an external Javascript library, it is common to load them from an external content delivery network. Content Delivery Network

26 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Content Delivery Network Pros and Cons Using a third-party content delivery network (CDN) is advantageous for several reasons. The bandwidth of the file is offloaded to reduce the demand on your servers. The user may already have cached the third-party file and thus not have to download it again, thereby reducing the total loading time. A disadvantage to the third-party CDN is that your jQuery will fail if the third-party host fails (unlikely but possible).

27 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar External JavaScript There is a strong argument for instead putting your references at the end of your document, just before the tag. A JavaScript script file has to be loaded completely before a web browser even begins on loading the next JavaScript file (or rendering the HTML). The effect of this, if the JavaScript files are included at the top of the document, is that it will be a visual delay before the end user sees the actual page. This is completely avoided if you include the JavaScript files at the end of the document. Beginning or ending?

28 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Javascript and Server-Side Remember that server-side environments such as PHP and ASP.NET can output Javascript as well as HTML!

29 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar JQUERY FOUNDATIONS Section 3 of 6

30 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar

31 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar jQuery A library or framework is software that you can utilize in your own software, which provides some common implementations of standard ideas. Many developers find that once they start using a framework like jQuery, there’s no going back to “pure” JavaScript because the framework offers so many useful shortcuts and succinct ways of doing things Framework

32 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar jQuery Not the only one, but a popular one jQuery is now the most popular JavaScript library currently in use as supported by the statistics from BuiltWith.com

33 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar jQuery Selectors Should ring a bell One of the most common tasks in Javascript is selecting an element in your markup. jQuery introduces its own way to select an element, which under the hood supports a myriad of older browsers for you!

34 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar jQuery Selectors The easiest way to select an element yet The relationship between DOM objects and selectors is so important in JavaScript programming that the pseudo-class bearing the name of the framework, jQuery() is reserved for selecting elements from the DOM. Because it is used so frequently, it has a shortcut notation and can be written as $()

35 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Basic Selectors All the way back to CSS Normal Javascript document.getElementById("someID").innerHTML = "some new value"; JQuery $("#someID").html("some new value");

36 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar jQuery Plugins The easiest way to enjoy Javascript There are hundreds of JQuery plugins that require little or even no programming to use.

37 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar

38 Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar


Download ppt "Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy."

Similar presentations


Ads by Google