My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

Popular tools for web developers

Saurabh Mhatre's photo
Saurabh Mhatre
·Oct 30, 2016

In today's post we are going to see some essential tools for programmers.

The list is as follows:

1) Text editor

The most popular free text editors currently are

  • Sublime Text
  • Atom
  • Brackets
  • Notepad++

The main criteria for choosing any editor must be:

  1. Suited for backend and front-end development if you work as full stack developer.
  2. Should work across Windows, Mac or Linux. Your preferences and settings should be available regardless of which OS you’re using since we tend to switch OS at home and at office. 3.Highly customisable with cross-platform plugins and themes. 4.Easy to use without steep learning curve

I switched to atom from sublime some time back since it was easy to add packages for specific purposes, get console output directly in the editor, ready integration with github and ability to tweak it as much as I liked.

Although there are many IDE's available like Eclipse and Microsoft Visual Studio which are useful for specific purposes, for general programming purposes simple text editors can be quite useful. And for server side coding in the terminal, vim editor with customization by configuring .vimrc file can also be great choice.

There are also many commercial web development IDE available like webstorm and phpstorm.

The choice of text editor/IDE mainly depends on personal preferences and comfort level.

2) Version control

Is is always good to have backup of code and maintain version control if there are multiple developers. The three most popular version control softwares are

  • Github
  • Bitbucket
  • Gitlab

I generally like to keep all publicly available code on github and private repositories on bitbucket since bitbucket allows us keep repositories private for free.

If you have many private projects and small numbers of users per project, Bitbucket is the preferred option because of its per-repo pricing. If you have large teams collaborating on just a few projects, Github or Gitlab may be the better option.

Gitlab is can host private repos for free and has almost all features of github with many more additional features.

As of April 2016, GitHub reports having more than 14 million users and more than 35 million repositories while Gitlab is actively used by over 100,000 organizations.

There are many other version control softwares available but this are among the most popular ones.

3) Code inspectors/Postman/SEOQuake

Firebug is a little plugin for Firefox which makes debugging errors in websites a lot easier and is a little better than web inspectors in Firefox and chrome for frontend developers.

Chrome developer tools are also quite useful to inspect elements,resources, tracking loading times of various resources and also to test your website on different screen sizes using emulation mode.
Postman is chrome extension that allows you to test REST apis from server side to validate and save get/post requests to server before integrating with the frontend.

SeoQuake allows you to check any webpage for a huge selection of SEO parameters on the fly.

4) Collaboration softwares

Asana is task management app which makes managing tasks within a team a lot simpler and easier.

Trello is free forever where a user can create unlimited boards, lists, cards, members, attachments and more without paying any money.

Jira takes software based approach for task management where you can assign tasks, report bugs and resolve issues.

Evernote is also a great option to take quick notes,set blog/website tasks and sync notes across phones and laptop.

5) Cloud based IDEs (Cloud9 vs Codenvy)

Although not yet used by many developers, cloud based ides allow us to develop programs independently of any workstation that we use to write our code and reduces the hassles of installing softwares and configuring each device before we actually start coding since we can directly select templates with softwares preinstalled like LAMP/MEAN stack essentially saving our time.
Cloud9 is a cloud based IDE which allows us to develop apps on the go anytime and anywhere. It essentially gives us access to a cloud based linux virtual machine with sudo privileges in which we can tinker around as much as we like.
Codenvy works on similar lines but it is bit more sophisticated than cloud9.

6) FTP tools

Filezilla is one of the most popular tools to transfer files to server and is available across all three OS.

WinSCP and Moba Xterm are great tools for Windows users which have much better session management and live code editing features.

Cyberduck is also a good option for Mac and Windows users who dont like Filezilla

7) PaaS platforms for hosting projects:

Openshift and Heroku are popular PaaS platforms to host and test your web apps before moving them into production environment.

It mainly depends on choice of software stack that you need to test.

Openshift provides first 3 web apps for free while there are unlimited web apps allowed on Heroku.
The idle time(time after which server will be suspended) for heroku is 1hour while in case of openshift it is 24hours.

8) Code snippets sharing

Github gists and Jsfiddle are two popular platforms to share small code snippets/projects with the developer community.

9) Javascript libraries

Jquery along with jquery mobile & jqueryUI,Backbone.js,D3.js,Momentjs are popular javascript libraries that are quite useful for frontend development. In backend development, node.js has grown quite popular for handling asynchronous requests to server.

10) Front end frameworks

Bootstrap,Foundation and Semantic UI are useful to create responsive websites with ease.

11) Web application frameworks

The list of web application frameworks is quite long mainly due to the fact of newer frameworks arising quite frequently.

The popular ones in web development are:

  • AngularJS:It is a popular MVC framework from Google
  • Reactjs: It is a view library from Facebook which is mainly used with Redux for web apps development
  • Vue: It is a relatively new MVVM for building interactive interfaces.
  • Mithril: It is a client-side MVC framework
  • Django:It is a python Web framework that encourages rapid development and clean, pragmatic design.
  • Flask: A microframework for Python based on Jinja 2.
  • Ruby on Rails: It is a web-application framework that includes everything needed to create database-backed web applications, with the MVC pattern
  • Zend framework:An open source framework for developing web applications and services using PHP
  • Express.js: Fast and minimalist web framework for Node.js.
  • Meteor:Full-stack JavaScript app platform that assembles all the pieces you need to build modern web and mobile apps which allows integration with Angular or React in the frontend.
    And the list simply never ends since we can write another story on simply listing all the available frameworks

12) Task Runners:

Gulp and grunt are two popular task runners which are useful for automating your workflow.

13) Package Managers:

Npm, bower and recently released Yarn are the package managers that you can use to keep track of all packages.

14) Markdown Editors:

Markdown editors are usefull to write webpages content faster.Some of the popular markdown editors are:
Dillinger: It is an online cloud-enabled, HTML5 markdown editor.
Stackedit: It is also a free online markdown editor.

Feel free to upvote the article if you like it and mention additional tools that you use daily for web development or feedback in the comments sections. Image source: Freeiconspng