It was acceptable to the user that the page content was always slow, mainly because most users used a 56 K modem dialing up to their Internet Service Provider (ISP). The screech of beeps alerted the user to the connection process. Then, suddenly, the user was notified on their desktop that a connection had been made and then promptly opened the default web browser, depending on whether it was Internet Explorer 4 on Windows 95 or Netscape Navigator on a NeXTStep machine. The process was the same, as was the 2 minutes and 42 seconds it took to make a sandwich, waiting for HotBot to load.
As time moved on, users experienced Google, and then suddenly, page speed and load times seemed to grab more users' attention, though, even today, the plain Google theme on the main Google search site allows for speedy download of the full site's code. This was regardless of the Internet connection, a whole 1.36 seconds, as indicated by Safari's Timeline tool, shown in the following screenshot, giving us a clear indication of which resources were downloaded the fastest and which ones were the slowest.
In the following screenshot, we show you a website's download speed using Safari's Web Inspector:
Non-compiling code is both good and bad. Without the need to compile, a developer can quickly build a web page on a full web application in a very short amount of time. Also, it's very approachable for new- or intermediate-level developers in general, making staffing for web projects a bit easier.
Integrated Development Environments
Integrated Development Environments (IDEs) are very high-end software tools that not only provide code editing, but also code-organization tools, built-in testing tools, code-optimization scripts, source-control integration, and usually deep code hinting and completion support.
Now sidebar on JetBrains, WebStorm is a lower-tier IDE when compared to IntelliJ IDEA, which is JetBrain's flagship editor for every language. The user interface of the IntelliJ IDEA editor can be seen in the following screenshot:
Again, this is due to the large number of features the IDEs require to be running in the background to make our code better, which is more marked on IDEA; so, again, starting off in an IDE is great to build a well-structured code base early on, but as time progresses and we work repeatedly in a slow editor, we will need something faster with a good base already set up.
With that in mind, many developers who don't see performance issues with an IDE tend to stick with the IDE they've chosen; other developers, however, move on to editors such as the ones in the next section.
WebMatrix is Microsoft's lighter website editor in this mid-range category. It has Git and Team Foundation Server support as well as support for ASP.NET projects, PHP, and NodeJS. The user interface of WebMatrix can be seen in the following screenshot:
For example, if you needed Mac support with Python, then Coda is a good fit, while WebMatrix gives a different set of features, including ASP.NET support. This is a common theme in mid-range editors, where many of them are really designed to do certain things and give just about the minimum support for a code base while keeping the editor as speedy as possible.
With any editors of this type, we can see that they allow us to connect to an existing project easily and perform some code-checking while working on a fairly fast editor.
It also has its own package manager called Package Control, which allows you to augment Sublime Text to automate some common code-editing and compiling processes. Freshly downloaded, though, it's extremely lightweight and allows developers to add in common plugins required for their development workflow.
In the case of either of these editors, or any other lightweight editor, as they typically don't have code validation included, they make code updates easily and quickly with validation running in the background, at the risk of writing slow or broken code.
Typically, these editors fit inside the mid-range editor space in terms of features. However, some of them can offer very little in terms of features beyond being online without installing an editor to a computer, which is why they fall in this category. The upcoming sections give a few examples of popular cloud editors.
Cloud9 editor, available at http://c9.io/, is a general web application IDE but is a cloud app with HTML5, PHP, Node.js, Rails, Python/Django, and WordPress support. The following screenshot displays the user interface of the Cloud9 editor:
Another feature of Cloud9 is virtual-machine support from the browser for iOS simulator testing as well as console support for Node.js â again, in a browser.
Another online IDEâCodenvyâis available at http://codenvy.com/. Its user interface can be seen in the following screenshot:
For cloud editors, you can see that they follow a mid-range editor feature-set but allow for quick connection and updates for existing projects.
In the next chapter, we will look at how we can keep our code's performance quality high when using a lightweight editor.