Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
By the end of this course, you'll be confident in dynamically improving the performance of your app.
About the Author
Ben Fhala discovered his passion for data visualization six years ago while he was working at Parsons in New York, in their data visualization department PIIM. He is the owner of the online video training school and an Adobe ACP. He enjoys spending most of his time learning and teaching, and has a love for visual programming and visualization in general. Ben has had the honour of developing applications for US Congress members, Prime Ministers, and Presidents around the world. He has built many interactive experiences for companies such as Target, AT&T, Crayola, Marriott, Neutrogena, and Nokia. He has technically directed many award-winning projects and has been a part of teams that have won three Agency of the Year awards.
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: Minifying and Caching Your Site|
|One of the simplest and yet the most critical things is to cache your code so that it's served in the best way possible to your users.|
The problem with the caching mechanism is that it is complicated to make changes to our code. In this video, we will together create a solution that will work around this problem, making our code robust.
|For an application to work effectively, it is necessary to send out the smallest possible files. In this video, you will learn how to create a dynamic minifying mechanism to make sure that our code will always be sent in its smallest possible size.|
|Section 2: Covering the Foundations|
|Declaring a variable properly is an important step in making your application functional. In this video, you will understand the best ways to declare and define variables.|
|One more important approach towards improving performance of an application is to define it at the right place. In this video, we'll take a look at the best place and scope to define our variables.|
|Condensing var definitions is very helpful in improving the processing speed. In this video, we'll see how exactly we can do that.|
|Many a times while coding, comparing variables in an exact manner is a very important factor. In this video, we'll see how to compare variables explicitly.|
|One of the most common actions with strings is concatenating them. The question is: Is there a better way to concatenate strings? The answer is yes, and you will learn how to do it better in this video.|
At times, you might have too many strings to concatenate. One of the effective ways to do so is by using arrays. We will see why and how it works in this video.
|Section 3: Going Beyond the Basics|
We'll take a deeper look into eval and try to avoid it by using a different method to call the function.
Using eval can lead to some security issues. We'll see how to create a function without using eval dynamically.
|At times, there might be a lot of anonymous functions, and they can easily create memory leaks. We'll see the steps involved in avoiding the usage of anonymous functions and why it's so important.|
|Section 4: Looping, Arrays, and Conditions|
|There are different loops we can use in coding. Let's take a look at which is the best type of loop to use and why it is more effective.|
One of the most important rules when it comes to effective code is the simplicity of your code. Let's take a look at how we can simplify our code and start with loops and events.
We can improve our performance further by reducing the footprint of various loops. We'll do it by resetting our functions.
Memory leak is one of the many things you would really want to avoid to improve an app's performance. The most common places where you find them are inside loops and the structures of arrays. We will figure out a way to find and avoid memory leaks.
|Arrays are another important factor in coding. We will focus on the best ways to define arrays.|
Doing more with less is probably the most important aspect of building an application. We'll see how we can write effective code by avoiding the unnecessary code.
|Reducing the loop footprint improves our code drastically, and we will continue looking at ways by which we can reduce it. The less we have of them, the better.|
|Section 5: Optimizing Events and Time|
|Circular references usually lead to memory leaks. We will dedicate some time to circular references, and you will learn what they are and how to avoid them.|
|We can reuse events to improve the performance of our app, as fewer events are always better. You will learn how to reuse events when possible.|
|Usually, performance ends up being a question of speed as well. What is more important? More details or more speed? The less activitiesgoing on, the less application will refreshe and the more stable it becomes.|
|There are a few common mistakes that developers make while working with intervals. We will take a look at intervals, common mistakes made with them, and how to avoid them, eventually getting rid of some more memory leaks from our application.|
More intervals mean more things going on at the same time, which leads to a higher chance of memory leaks. You will learn how to reduce your interval footprint.
|Section 6: The DOM and CSS|
The less the time for which you interact with the DOM, the better. Each manipulation forcesthe screen to refresh, and as such we wish to avoid making DOM calls as much as we can. We will improve DOM multiplication.
|Document reflow is another thing we need to take care of when coding. We will fix our original code to create fewer DOM updates.|
Finding a balance between animation and performance is a major task and we will see how exactly we can do this.
|Animating classes instead of styles is very important for improving performance. We'll take a look at how we can do this.|
|We will talk about dynamically loading up scripts when we need them instead of loading them up in advance.|
|Section 7: Data and leaks|
|When sending information to a server, the first thing is you would want to validate is that the data was filled out correctly on your client-side. HTML5 comes with built-in capabilities when it comes to form validation, which we will take a look at.|
|As there are some browsers that do not support HTML5 validation, we can create our own logic to validate the form. We'll create logic for this purpose.|
|There are different data types we can use to transfer information from the server to the client. We'll take a look at which data type is best when it comes to this.|
|When it comes to data, the less it travels the better. We will try to do this using caching.|
Working with HTML collections directly can create a memory leak. We will discuss why this is so and how to avoid it.
|There are a few problems while working directly with HTML collections. You will learn how to convert these collections into arrays to avoid these issues.|
|Analyzing our app performance will help us to avoid app crashing. We will create an FPS counter that will help us measure how well our application refresh content on the screen.|
Profiling help us understand what is happening under the hood of our application. These tools help you get a better understanding of the code behind the hood and its effects on the CPU, memory distribution, and object allocation over time.
Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.