19 May 2021
If you are a web developer or have just developed your first site, you might already be overwhelmed with all the stack of technologies and languages to keep in mind while the competition is growing in Bangladesh’s IT sector.
However, there is good news. There are numerous tools and frameworks available to make your workflow more effective and reliable, allowing you to code faster and cleaner than ever before. It means you can relax a bit and let the tools do a bit of work for you.
In this blog, I will introduce various helpful tools and frameworks such as how to use browser tools to analyze and evaluate your code, text editors to help you write it, and front-end frameworks and preprocessors for web development components. You'll also learn how version control systems, such as Git, can help you save time while also avoiding mistakes.
Through this blog, you will also get an rundown of the benefits and drawbacks of each tool, as well as examples, tips, and advice for determining which ones will work best for you.
With the emergence of modern technologies and the growing competition of web developers in Bangladesh, it is important to stay updated with the latest tools used by various professional web developers worldwide.
If we look at Bangladesh alone, we can witness that the country has been regularly being ranked among the best places to work as a freelancer on platforms like oDesk, eLance, and others according to the report in Databd.co. Moreover, with more than 1500 software companies, web development in Bangladesh is on the rise due to the increased demand for establishing a digital presence. Therefore, web developers face a surge of competition in the highly growing industry and in this environment, it gets very easy for a novice web developer to lose courage and motivation.
In saying that, I want to remind my fellow readers who cannot wait to start developing their first site, it may seem intriguing to start with the tools but speaking from personal experience and to get your learning organized, you can start with the fundamentals of web developing first so that you can utilize the tools the best way that suits you.
As a web developer, you might have your favourite browser to work on or for browsing like many other web developers in Bangladesh who sometimes use a single browser for various reasons such as battery life, incorporated tools or for the design itself.
However, your users might use other browsers among the plentiful options available. Therefore, it is best to ensure that your projects benefit as many users as possible to create an inclusive web experience for all.
There are web developer-focused versions of Chrome and Firefox if you are very interested in web development features of those browsers and cannot wait to check out the most recent attributes. However, since each browser has its unique styles, some HTML elements can appear slightly differently across browsers, making cross-browser testing so much more important.
Furthermore, not all browsers are available on every operating system. Modern versions of Safari are only available for Macs, while Internet Explorer and Edge are only available for Windows. There are ways for checking browsers that are not natively supported on your computer if you only have access to one operating system.
One choice is to use a virtual machine, which emulates an entire operating system and allows you to install programs that are not normally supported by your operating system. Bear in mind that your virtual hard drive is stored on your physical hard drive. As a result, systems are unlikely to run as quickly. In your virtual machines, you might not want to play games or use software that is too challenging for your drive. This scenario is very common nowadays in Bangladesh with the emergence of popular mobile games such as PUBG, where players install the game on virtual machines on their computers and play the game with an advantage but slowing down the drive.
VirtualBox is an incredible free edition virtual machine. For basic testing, this is a good place to start. The virtual operating system runs as a window on your operating system. If you want to run Windows 10 on your Mac, for example, you can start the VirtualBox program and simply choose the operating system, and it will open in its window.
For a more comprehensive solution, VMware and Parallels provide several paid options for various virtual solutions. Many web development companies in Bangladesh, utilize these to make sure that the websites they develop are versatile among many browsers.
While browser testing is desirable, ensuring that the code is clean from the start is a good way to reduce cross-browser issues. By following best practices and concentrating on known problem areas, the number of browser compatibility issues can be reduced.
Caniuse.com is one of my favourite websites where you can look for the usability of specific properties, such as using flexbox for example. Can I use is useful because it provides knowledge about known browser-specific issues as well as tools for resolving them.
The Wave web accessibility tool is another excellent testing tool. This tool helps to measure the website's usability for visually impaired people.
This tool is extremely useful because it not only highlights errors and warnings, but also provides additional details on what the error means, why it is significant, and how to fix it.
Browser testing is important for providing a comprehensive web experience. Finding the appropriate tools for the job will enable you to test your projects more efficiently.
Using a modern web browser will not only improve the viewing experience, but it will also improve the web development process by utilizing developer tools. Instead of assuming when something does not work, web developers can view the code, make changes, and isolate issues right in the browser. There are several ways to get to the developer tools.
- In Internet Explorer, press the F12 key or choose Developer Tools from the Tools menu.
In Edge, you can still use the F12 key, but the tools have been retitled F12 Developer Tools, which can be found in the settings menu.
- For Chrome the first way to open the dev tools is to right-click, or finger-tap if you're using a Mac trackpad. And then click Inspect. These tools are also available from the browser's menu under More Tools, Developer Tools. The third method is to use a keyboard shortcut, which is listed to the right of each menu option.
- For Safari, the developer menu has to be activated. Go to Preferences, being in the Advanced tab, and then click Show Develop menu in the menu bar which is then available as a menu option.
There may be some differences between browser dev tools, but the features are mostly the same.
In Bangladesh, the most common web browser is Chrome by having around 80% of the browser market share in the last twelve months and 58.17% by Chrome for the Android version (Source: Statcounter). This brings out the importance of mobile-friendliness of the websites and ways of testing them through the developer tools.
A device emulator is included in the browser Developer Tools, allowing for more accurate testing. Usually, the toolbar can be found by looking for an icon that looks like two mobile devices.
In the dropdown menu, different devices can be selected and even the orientation can be changed. The browser may need to be refreshed or the device emulator toggled again after changing the settings.
It is still best to test on real devices, but this can be time-consuming during the early stages of web development when there is the highest chance of making a lot of changes.
The above techniques will help in the early stages of development, but as the project progresses, more intensive Q&A and testing on actual devices can be done.
Extend the functionality of your browser by using add-ons, extensions, and plugins. There are some variations in how the three communicate with the browser and how they are designed, but they are all used to add extra features to the browser.
However, before adding them, it is best to consider the security by checking the details of its source, what permissions it is asking for and also the reviews and user ratings. Additionally, users can check the number of downloads and when it was last updated to see if it is still compatible.
Source: Chrome Web Store
While going through a website, we might like the font they are using, even though it can be checked through the inspect property of the browser but the process is a bit tedious. Therefore, we can use plugins such as whatfont which identifies the font and gives out the associated CSS properties of the font just by hovering over the text.
Source: Screenshot of Dcastalia’s website using Awesome Screenshot
This plugin can take screenshots of the entire screen, window or just a selection and also record the screen. The most helpful feature is that it can take a screenshot of an entire webpage by taking several shots and then stitching them together to create a single image.
To use this plugin, one of the screenshot options can be selected after clicking on the icon. To capture the whole page, each visible portion takes individual screenshots, and when done, they are all stitched as one piece. After that, a new tab opens with the screenshot and a toolbar that allows the addition of different kinds of annotations with the full screenshot. Texts, shapes or drawing option is available to induce attention to specific areas of the page. After finalizing it, clicking on the done button saves the image and can be stored on the local drive.
The tools mentioned above are very popular among the web developers in Bangladesh which can be witnessed in their portfolios or the case studies of web development companies when the web development projects are being showcased. From my personal experience, being able to create an entire image of the whole website, helps to show the design to clients and also to share the design with the team more easily than having to show different images of the website.
The majority of work as a web developer is done in a text editor or an integrated development environment (IDE). There are numerous free and paid options available. The results of a survey conducted by stack overflow in 2019 are shown below. It is categorized as Technology and Development Environments which shows a range of IDEs and editors used for web development, and while some are more popular than others, web developers have a wide range of preferences among them.
IDE is an abbreviation for Integrated Development Environment, and the integrated part is what distinguishes it from text editors. IDEs typically include integrated compilers and debugging tools, and they may be better suited for back-end languages than front-end languages most of the time. Both have productivity-enhancing features like syntax highlighting and autocomplete.
Text editors can also be extended with plug-ins and packages, and there are additional tools for compiling and debugging. As a result, web developers’ personal preferences will most likely change over time as their needs change.
Learning keyboard shortcuts for popular tasks will significantly boost productivity. It may seem to be just seconds saved, but if we consider how much we complete routine tasks in a day then those seconds will add up. Most programs will list the keyboard shortcuts on the right side of the menu. Using a few shortcuts and learning how to find and upgrade the code easily can help increase productivity.
Source: Visual Studio Code
Visual Studio Code, as one of the more recent entrants to the game being released in 2015, makes a concerted effort to establish a stable community and ensure that users get the features they need. The hard work has paid off, as the plugin library has grown significantly than its previous versions. It is also a free open-source project that can be installed on macOS, Windows, or Linux.
Visual Studio Code is an attractive text editor for all web developers due to a few distinct areas. To begin with, Visual Studio Code is often regarded as being quicker than other editors on the market.
The Zen Mode gets rid of all the clutter which hides all menus and objects that are not related to the editor.
The IntelliSense functionality uses smart completions based on function definitions, variable types and more to take syntax highlighting and auto-completion to the next stage. Git commands are pre-programmed in the Visual Studio Code editor. In this way, the data can be pushed or pulled from all hosted SCM services.
Finally, there are several sections such as the Docs on the Visual Studio Code website to read more about the app. The documentation page walks through the setup process as well as dealing with various languages. In addition to that, there are tips and tricks and keyboard shortcuts.
- Amazing tabbed window management with grid-based split-screen support
- The functionality of an application can be enhanced in a variety of ways through available extensions/plugins
- It is decently fast and simple to use.
- Themes can be customized.
- Some of the available plugins/extensions may trigger issues with stability, particularly if they are installed together.
- Extension management can be challenging at times.
- The app does sometimes use more resources than it should, but a restart normally solves the problem.
Source: Dracula Themed Notepad++
Notepad++, without a doubt the most common advanced text editor on the market, comes in a small bundle with no fees and powerful editing features. It is distributed under a GNU General Public License, which means that any web developer or content creator can use the text editor immediately after downloading it. Notepad++ is a text editor for Microsoft Windows that tries to use less processing power than the average text editor.
One of the features that distinguish Notepad++ is that it has already been translated into over 80 languages, making it accessible to people all over the world. Furthermore, if the native language isn't included in the list of translations, then it can be translated by the web developer.
Since Notepad++ uses syntax highlighting and folding, writing code and editing text is a breeze. There's also a fantastic search and replace feature, as well as a completely customizable user interface. A vertical tab or a document list, for example, are both possible with the Notepad++ text editor.
- Opens massive text files with ease.
- It is simple to write notes and make simple text files with this program.
- Amazing auto-saving and note-taking facility for development.
- It has the potential to become cluttered.
- The look and feel could be updated, but this has no bearing on the functionality.
- Lacks auto-completion when coding.
- Multi Cursor function is not added
Atom is a free, open-source text editor designed with developers in mind. Atom was created specifically for developers, according to its creators. In addition, similar to WordPress or other open-source tools, there is a group of developers who contribute themes and plugins. Atom provides clean collaboration software, a sleek editor, and some great organizational tools for keeping the projects in check, so it should be no problem for a web developer.
All the projects can be shared and edited in real-time, which is useful for teams who are spread out or just want a more dedicated workspace. Additionally, Atom includes a GitHub kit with the text editor. This allows the team to build anything from branches to stages in one screen.
Another advantage of Atom is that it is a cross-platform system that runs on Linux, OS X, and Windows. One of my favourite features is the smart autocompletion, and the multiple panes can make you feel right at home if you're editing code between files with multiple panes open.
Atom, like an iPhone (or WordPress), has add-ons called bundles that can be installed. These are given to enhance the simple text editor's functionality. Themes can be used to make the editor look nicer and more user-friendly.
- Atom has a fantastic plugin library that is easy to use and can be integrated.
- Atom's multi-cursor plug-in feature, in particular, is a powerful way to manipulate text in bulk.
- Atom's plug-ins include strong syntax highlighting and other interactive support for a variety of programming languages.
- Some aspects of Atom's default user interface need improvement.
- Atom's documentation and marketplace for plugins could be made easier to find.
Front-end development frequently entails writing a lot of repetitive code and constructing similar structures over and over. Therefore, front-end frameworks have risen in popularity.
The Github site provides a comprehensive list of available options as well as a feature comparison. While there are numerous benefits to using frameworks, there are a few drawbacks to consider. First, let us look at the advantages.
Even though there are several choices, most frameworks have the same features.
- The majority of them are free and open-source
- Provides significant browser support
- Have responsive modules
- Have mobile compatibility
- Often have choices for various levels of front-end experience
- The UI and design elements are typically fairly consistent
Using the framework's predefined markup to combine these components will help the web developer to get up and running quickly. This is particularly useful for rapid prototyping, demo development, and testing. They're often sometimes used as a building block.
Several download options are depending on needs and experience with front-end languages, so it is best to read through all of the setup instructions to figure out which one is the best option. It is also a good idea to read through the documentation to see what the framework includes and how to use it.
Consider any potential drawbacks before digging too deeply into front-end frameworks.
Most of the framework's default CSS file contains thousands of lines providing all the styles for the components of the framework. So, when designing a single-page website with a very simple layout, one might have thousands of lines of CSS from the framework's file even if only a few components are used.
Frameworks are prominent due to a large number of predefined components. However, this makes the site resemble all those that use that framework. For frameworks to be scalable for a wide range of users and to account for all possible design scenarios, features are often supplemented by wrapping elements with a div and a class for each type or style variation. This is standard practice for HTML and CSS in general, but with Frameworks, there is also a greater emphasis on extra generic HTML elements and extra classes to account for all possible design scenarios.
Also, to make improvements outside of the framework's choices, more front-end experience is needed to understand how to make the changes while adhering to best practices.
In saying that, in terms of learning how to organize file structures and to build modular and reusable code, frameworks are still an excellent resource.
When you consider how many properties are available, the quirks and workarounds, and how much CSS has evolved with browser support becoming more sophisticated, CSS can seem complicated. However, writing CSS is a simple task. After you've chosen an element, you can add a style to it. That's pretty much it for CSS.
CSS preprocessors, on the other hand, are not bound by the laws of CSS syntax. They add features like variables, nesting, mixins, and more to the language, making it less redundant, simpler to manage, and scalable.
Learning to use a new tool takes time, but with preprocessors, the learning curve is just as steep as you make it. Even the simplest features will help to increase productivity. Variables, nesting, and mixins are all popular features of preprocessors that make CSS easier to update and maintain.
Traditional CSS allows the organization of CSS into components by using separate folders, but preprocessors increase the organization and page load time. More advanced features, such as conditionals and loops, can be used to write CSS in a programming-like style to help make widely used code blocks more reusable.
The Less preprocessor is often considered to be a good place to start because it has very straightforward documentation.
Less is a CSS syntax extension, but it varies from Sass in a few ways. Variables in Less, for example, use the ‘@' symbol instead of the ‘$' symbol. The .less extension is used to save Less files.
Although this is very similar to Less, it also has some more advanced features that Less does not have, so to use more programming-like features, Sass may be a good choice.
Sass has two different syntax forms. SCSS is a newer version that is an extension of the CSS syntax, which means it supports both common CSS syntax and preprocessor-specific features like variables. The SCSS extension is used to save files, while the older syntax uses a .sass file extension as well as an indented markup style.
This is useful for those who choose to use indented syntax rather than semicolons and brackets.
While Stylus uses an indented markup form, semicolons, colons, and braces can still be used if preferred. These two types may be combined in the same file, and the variable is described without the use of symbols. The .styl extension can be used to save stylus files.
Apart from the older Sass syntax, all of the other preprocessors discussed extending the language, so to convert the CSS files to preprocessor files, the extension has to be changed from .css to the appropriate extension for the preprocessor of choice.
Each preprocessor varies in several respects, but the features are generally the same.
Using preprocessors does not require a web developer to be a CSS expert, but as with any other method or framework, it is best practice to get familiarized with the foundation first. Preprocessors are just another way of writing CSS. However, it is required for the web developer to adhere to standard CSS syntax guidelines and best practices.
Have you ever worked on a web development project and found yourself saving several versions because you wanted to make a change but still maintain a backup? Git, a common version control system, allows you to do just that.
It's essentially a way to build copies of one or more files and save a snapshot of the work at any point in time. Git and GitHub are often confused, but Git is the version control system, while GitHub is the repository hosting service. Bitbucket is another excellent hosting choice. These hosted repositories save these snapshots or file copies.
Git is great for collaboration and sharing files as well. Other web developers can contribute to the repository. Git is smart enough to see the changes that he made in his file and merge them into my files. You can even do things like roll back to previous commits, otherwise known as previous versions if you wanted to discard an update. Hosting services not only host these files but also include features like tracking and reporting issues.
GitHub also has GitHub Pages, which is a feature that allows you to host your website straight from your repo. To use Git, you can use your command line or an app like SourceTree.
When developing a website, the tools to be used should be based on the current web development project requirements, not on the experience of the competitors or what the web developer has used in previous projects. Even if the previous projects were good, the technology stack used for them would likely not work for the new one.
For larger projects with high-quality results, a budget must be established. The resources chosen should be able to provide a return on investment. As a result, when selecting a Web Development Tool, cost-effectiveness, ease of use, scalability, portability, and customization should all be considered.
In Bangladesh, the environment of web development is continually shifting. Modern web developers have a wide range of tools and frameworks in their toolkits, and it's critical to be updated with all industry-related information on technologies to stay productive.
For both professional web developers in Bangladesh and those who have just started on the basics, companies such as Dcastalia provide Corporate Training Services where they can earn valuable skills regarding the innovative tools and technologies and gather hands-on experience with the tools in web development projects. Other than this, Dcastalia is also home to professional web developers providing web development, web designing, web maintenance and various other services.
What factors should be considered while choosing a web development tool?
When selecting a web development tool, the following factors should be considered:
- The cost of the tool
- Themes and customizations available
- Stability and ease of use
- Plugins and functionalities
- The ease with which it can be used
- Support for a variety of languages
- Integrated Debugger support
- Support for a variety of browsers, devices, and operating systems
What type of tools do I need to build a website?
You will need the following type of tools:
- Tool to make and modify web pages
- Tools to upload files to the web server
- View website
Almost all operating systems come with a text editor and a browser, which you can use to access the internet. However, there are advanced text editors which provide additional plugins for web development.
What are developer tools for browsers?
How do you ensure that your website functions properly?
Since a remote web server can behave differently than a local one, it's a good idea to test your website once it's up and running. It is surprising to see the number of issues arising once it is live, such as images not appearing, pages not loading or loading slowly, and so on. Most of the time, it's either a minor oversight or a problem with the web hosting setup.
How do I get started with GitHub Pages?
GitHub is a platform for "social coding." It lets you upload code repositories to the Git version control system for storage. You can then collaborate on projects and since the framework is open-source by design, everyone in the world can find, use, learn from, and contribute to your GitHub code. You can do the same thing for other people's code as well.