My way to the ideal web development environment
Here Personally, I am the kind of person that likes stunning-looking things. Whether it is in the true world, either in the shape of software. I extremely value immense feature-sets, customization, design, and usability. I (I think numerous other developers also) constantly strive for the good feasible tool I can take. But, because there are no ideals on this planet, the similar applies to the application. Different limits, boundaries and other imperfection construct us having to construct a compromise. A judgment on which features and, in the outcomes, tools are more crucial/better for our specific use-case. All things considered, in the present article I might want to share a few contemplation of mine, a while perfect striver. My adventure to the most ideal environment of the web development. Let's get started!
1. What environment we are discussing?
Before we plunge into the point, allows first research what dev-env we are discussing. Thinking about it only as an IDE or code editor would be a large error. The keyword environment generally refers to various things, rather than only a single individual. I referenced a word pretty much so much stuff in a single of my past articles or topics. IMHO, we can securely separate somewhere around 4 sets in our dev-env.
Operating system:
The broadest piece of our env, can enormously affect the accessibility of our different devices.Browser:
The most essential piece of website development work process, valuable for getting to information, testing and having a ton of fun.Code editor/IDE:
Basic for each programmer, with some of the extra functionalities, it can couple boost, yet in addition decline one's profitability if not picked correctly.Other Tools:
There are definitely tools with plenty of extra, which can differ due to the developer's preference. Each additional part of the software, GIT tools, browser extensions.Services:
and standard/often utilized libraries find their spot here.
In view of the accompanying gathering, how about we dive in and find every one of the above classes one by one!
Operating System:
Unless you are using an online or cloud IDE, big opportunities are that the selection of the right OS might be a really crucial decision. You have three valuable options - MacOS, Linux, and Windows, not including extreme, greatly-not-recommended options same as like Chrome OS, Android /iOS - seriously, do not do that.
1 MacOS:
I'd like to begin with MacOS. Here I want to say something, while I have never utilized a Mac. It is not like I am a Windows follower - I'd absolutely love to have MacOS one day! In this way, here I can just talk about my feelings, which are so good. Mainly I am having a strange feeling that almost all developer utilizes a Mac. Now, clearly I know that is not true, yet every moment I stumble upon a few GitHub issue or a picture of someone's workplace, e.g., I see an iMac/a Macbook. Also, Mac seems the same as something in the center of Windows and Linux. It has the best choice of creative application (some not accessible on other platforms) and the absence of customizability of OS and the great final access and environment of coding as same as entire of Linux. It is based on a few of my private experiences. Again, along everything said top, I might be wrong, as I have not really used this before.
2 Windows:
Next here, we have Windows. Likely the most popular and well-known OS. Top options are that your latest device will reach with Windows preinstalled. It makes this type of a default selection. And individually, it was my just Operating System while I was starting a career of my web development. At first, it looks like a good selection. Windows has the largest collection of applications of all three (sadly it is lacking in the programming department). A browser and an IDE is primarily everything you require to initiate doing web development - and you have this here, on Windows.
Yet, as you start performing more advanced stuff / worse - training a compiled language as Rust or C++ - you will begin to fell a small discomfort. In my opinion, it was NodeJS and its native bindings creating the process that built me pull provoke - creating a change to Linux. Simply the sheer measure of control and convenience you are taking with CMD of window or PowerShell does not coordinate with the single of MacOS' and Linux's. Moreover, Windows as an entire is a bit* slow down than many Linux distros and does not provide the same extensibility and customizability. Some Windows-lovers may debate about the choice of utilizing the Windows sub-system for Linux (I do not consider VM a choice even - to a lot of performance lost). Good, first it is a lot of a Linux as compare to Windows actually ??, and 2nd - it was at early stages of its back then, the meaning of buggy (do not know how it is now and I am probably not moving to even attempt to). The main thing that keeps me utilizing Windows every now and then is the inventive application, although Linux has minor lower, in many stages more open-source (free) gathering of its own. In this way, yup, for now, I am sticking with Linux, which goes us to our final choice...
3 Linux:
Linux is my favorite daily driver operating system for absolutely some time now. It is almost fine. Presumably, the greater part of you knows the stunning arrangement of Linux clients' contentions for their OS - open-source, running everywhere (IoT, Android, supercomputers, ) and best security (another imperfection of Windows). Hence, let's concentrate on its other views. One of them being customizability. You can change in Linux almost everything. This is perfectly what makes me adjusting every of my latest distro (I turn with the passage of time) for days! Hence unproductive, but such an exciting! Commonly, you can easily build your Linux view the way you wish it to be inside out. Beyond that, all the things in Linux seem much faster, easier, snappier, and more controllable.
On the contrary, there are some disadvantages too, E.g. - the limited gathering of creative application, although the programming application is great there is. Do not get me wrong - there is still more of application for Linux, only not as more on the different two OSes. Obviously, as an expert goes to the way that OSS has huge impacts here, so there's some more opportunity to look over. Next comes, the setup. Today, A lot of Linux distros come pre-loaded with some helpful stuff and interesting, but when you wish to get the majority out of your personal system, you shall have to pinch it manually and this process requires a few of time and knowledge. it can also carry some new adventure to the table, may which come close by later on, in light of the fact that... you know, a huge percentage of the whole server (particularly those utilized in website improvement backend) execute Linux.
2-Code editor/IDE:
Now that here we have our Operating System is placed, it is time to grab a deeper view of the application. And, more significantly, at the program editor - a surface where most work is complete. Here, you have 2 general choices - an IDE with complete-fledged development experience keep in mind and a large number of extra goodness make-in, or a program editor - simple, lightweight and fast editor, frequently with best extendibility choices. Let's explore a few of most-popular choices!
1 Sublime Text:
Sublime was and still is reviewed by many people as an excellent code editor. Speed here, its main advantage. Being partially composed in C++, here all the listed tools might be best in performance. But, beyond that, here some issues of IMHO. Just focus that I am talking from my, website development point of view.
As well as Sublime might be, the absence of integrated extension-system of management upset me. Actually, the need to install the external Control Package for a tool of paid, when other free alternates have this inbuilt, is only shocking for me. Without this, TS and JS auto-completion feature lag a fair bit. Do not take me wrong, now the reality that the application is paid and does not focus on website-development-related auto-completion does not mean that it is an evil tool.
A paid application can sometimes be better optimized and stable than its free part of the counter (which does not all the time mean open-source), and the auto-completion, which is not a feature everybody wishes, can be much greater for compiled languages means Java or C++. Here I am only speaking about my kind-of 1st impressions, as, because all of the reasons recorded above, I have not utilized it to a better extent.
2 Atom:
Atom, being my 2nd go-to editor or tool, is the 1st of 2 editors on this record based on the platform of Electron, and is open-sourced code editor. It has a lot of advantages. Its design is the main benefits for me. You will not find more simple, nice-looking UI and intuitive anywhere else! and great extension system just ensures that with an excellent collection of themes and awesome additional tooling! Here the auto-completion is best but could be more improved. Also, most of the largest pros for Atom editor is its integration along with GitHub. If you are working with GitHub reports, after that you should discover it really helpful.
Same like all other editors, Atom has a few drawbacks here. Performance is the main disadvantage of it. You can observe it being slow, unresponsive and buggy. Moreover, as for the auto-completion, it can be an insignificant laggy and not too much detailed. Naturally, that is something that can grab well in the future and is presently working on.
3 Visual Studio Code:
You have probably observed that coming, have not you? .The Visual Studio Code is my editor-of-choice and daily-driver. Based on the platform of Electron and being Operations Support Systems (OSS), it has great help for all kind of thing website development... feels the same as home. It has maybe the biggest group of extensions, and these extensions provide all type of additional functionalities. Auto-completion for JS and especially TS (Visual Studio Code leading source-code language). Its performance is great, demonstrating exactly how quick NodeJS can be. Moreover, it has a sleek User Interface, an integrated terminal, and the huge community when others are compared with it.
Hence, is there any drawback to this tool? I cannot see any, at the moment, other than the reality that the VS Code concentrate on web-dev can have a minor negative effect on its help for other languages. Yet, as I do not care about it more right now, so, I can say it is a perfect selection for me and highly recommended for each web developer!
3-Browser:
There is not much to speak about a website browser - probably everyone utilizing a computer machine has one of own his. Yet in website development, browser besides being essential to entertainment and knowledge is a tool. There are two types of tool good or bad. Here is how.
1 Chrome/ Chromium:
The most famous browser on the globe, invented by Google. Having command over more than 60 percent of website browsers market share, Chromium, or on the other hand, at least a Chrome-based browser is for every web-dev a must-have…at least for performing tests. Chrome browser, being a closed-outcome by itself, is created on the peak of Chromium open-source website browser project, retained by Google too. Now In modern time, Chromium is becoming a standard of de-facto when it de-facto to web development and browsers. It powers Electron and other browsers, like Brave, MS Edge, and Opera in the future. Moreover, part of Chrome is V8 - the quickest JavaScript engine out here, powering Node-JS.
Beyond on the top, chromium browsers approach potentially the greatest store of various extensions when contrasted with some other browser. This contains various productivity and dev-tools. Also, Chrome has one of the most and best well-known developing tools on the market. Hence, developing with Chromium or any other Chrome-based browser feels the same as pure joy.
Only to close it up and as you can plainly view - Chromium is almost every place. So, if you wish to oppose the expanding dominance of Google, then you require at least a few of Chromium browser to check your products for ~70 percent of your possible Customers.
2 Firefox:
Made by Mozilla, And Firefox also most popular website browser. Mozilla seems to strongly care about web-dev and give them with the specific edition of its web browser, but in addition, and what is possibly even more crucial, with the MDN - an excellent content of knowledge about web-dev and JavaScript in general.
Each version of Firefox has access to a great store of extension, with thousands of accessories or add-ons to select from. This is particularly important when it appears to some productivity and extensions of programming-related.
One feature where Firefox really radiates is its developer tools. Particularly in the Dev-Edition, Firefox holds a different kind of tools built-in to support you with your prototype, code, and design. If you have not got utilized to other developer tools yet, Firefox maybe worth a try.
3 Built-in:
Apart from all of the other browsers (a lot of based on Chrome), you have the many of Operating System dependent browsers, like MS Edge, Safari or Old IE. The main problem here is that these browsers (whether disapproved or not at all) are still being utilized by a few of percentage of your potential users and are based on other different engines - EdgeHTML, WebKit and Trident respectively. This condition requires you the dev- to at least one time try to check your personal products on these specific pieces of the application. This becomes difficult when you feel that not each one has a Mac and Windows computer available just the same as like that.
Oh, and you, obviously, have to check your web applications on small screen browsers too. Only a small note.
4 Other tools:
This is a minor part of a matter for an entire another article. Actually, everything you can name a developer tool involves in this classification. From browser and extensions of code editor to stand-alone tools.
Here, in my opinion, this group consists largely of a lot of Visual Studio Code extensions. There is a complete package of JavaScript related tooling, containing NPM and TypeScript support, ESLint, Live Server, TODO Highlighter and Prettier.
Personally, I do not utilize any browser extensions at this time now. Some famous examples of such kind of tools include React and Redux Developer-Tools for Chrome and Firefox. They provide extra debugging options, fit in your personal browser, without any more setup. With the support of these and the same tools, you can simply boost your productivity and development experience for granted libraries and frameworks.
Finally, as for the stand-alone apps, I do not use any development application as compared to my editor. I just have slack installed twain on my desktop and my Android phone, and a simple GIT customer. So, nothing elegant here.
4-What About You?
Here with this fast overview of my web-dev setup, I am interested in showing one of yours. Now, do you utilize the VS Code editor too? Or might be you prefer a complete IDE? Do you struggle with Chrome, or do you arrest it? Please, show their feelings in the threads below.
Obviously, if you like an article, examine leaving your reaction below and exchange it with others. In addition, follow me on Facebook and on my Twitter profile and make Registration for the newsletter down below (launching soon). As usual, have a decent day and I see you nearly in the upcoming post!
Comments
Post a Comment