Sunday, February 10, 2013

Tools for Web Development (part 3):FTP clients


Directly working on the production server is not recommended, still in some case we may need to modify the server files quickly. In that case Ftp clients comes handy.

There are plenty of ways to use ftp clients of different software. I will give you the overview of some which i really like.

FileZilla:




FileZilla is GPL based complete cross platform FTP solution providing FTP, FTPS, SFTP client with many useful features and a great UI. It is available as both  client and server. Typically we are interested in the client part for now.
Some of the FileZilla feature:
  • FTP, SFTP and FTPS support.
  • Cross platform(available for Windows, Linux, *BSD, Mac etc.)
  • Ipv6 support
  • supports resume and transfer.
  • and many more.
Firefox FTP plugin FireFTP
:


FireFTP is  a Firefox plugin which supports FTP and SFTP client. It also includes many advanced features such as: directory comparison, syncing directories while navigating, SFTP, SSL encryption, search/filtering, integrity checks, remote editing, drag & drop, file hashing
 Although not widely used but many of IDEs/Editors have plugin based FTP support.
 which allow users to manage website over FTP using the plugins.
 The list of such plugins is

Wednesday, February 6, 2013

Tools for Web Development part 2 (Version Control)


Generally small organizations and indie developers tends to work either directly on live data or test servers without maintaining any specific backup system. The more organized people in this criteria are mostly taking backups using the directory of specific dates / project names  and/or archived hierarchy. The problem with this approach can be listed as missing backups, Full email inbox and drafts, making changes with confidence, Made updates directly on your production server, accidentally overwriting some files, which can never be retrieved again and working with a big team and blaming one another for bugs.

To overcome this version control systems are used. Talking about the advantages of the version control system includes the unified file structure and copies of same data with all team members, Changing the code with confident without being worried about the outcome, easily deploying the versions of the code having prototype or incremental builds, understanding when and by whom the change was done.

Technically,
 Version control system is mostly based on the tracks of the file and directory structure. Depending on the version control it can track time and/or the changes specific to the comments, characters and the raw bytes. Most of the tracking systems works on creating the checkpoint(Stable point for project:may be empty directory at initial stage) , cloning the stable code, making changes and either commiting the code with new checkpoint or reverting back to the older version. Mostly such set of the files of a releted stuffs is called repository and creating the checkpoint is called commit. Each of the revision of the project can be uniquely identified as an integer id(1, 2, 3,) or the Hash code (346aaa8d3211gced3f8a936d9ba5c3ad345831e5).

we can post the whole list of blog posts for this topic so quickly moving to the various version control systems.


CVS


Cvs Screenshot
  cvs is the oldest player of the version control. The first release of the CVS was created in 1986. Google stull supports Usenet posts using CVS. CVS is not the fully featured like svn or other but simple enough to learn and usable as backup or file sharing.

the cvs is available as both command-line and  GUI based versions of the software available in various softwares like Tortoise CVS is great for the windows. Most of the current IDEs are capable enough to deal with CVS which may be by plugin or pee-build implementation Eclipse, NetBeans, Emacs and Xcode(Mac only).



SVN
SVN website screenshot
Subversion is the widest adopted version control system. It is full featured system including the exclusive community support. Even large projects like sourceforge, Python, Ruby and many also uses the SVN as the base repositories. Google code itself  uses subversion for distributing the sourcecode.

Subversion also have many of the clients available. They includes Tortoise SVN, Modern IDEs listed above and Mac specific versions


Git


Github Screenshot
Git is having the fastest growing version control system. It was developed by linux creator Linus to maintain the Kernel Source tree. Git is well developed and maintained that is why it have lots of functionality which we have never seen before including push, pull, blame etc.
The biggest role in popularity of Git is its simplicity and Github. GitHub has provided the most attractive platform for open-source community. Github provides many of the off the self functionality for the users with both public open-source and commercial plans.

Now a days major open-source projects like Linux kernel,WINE,Fedora and websites like Facebook and Twitter uses the Git.

Tuesday, January 15, 2013

Tools for Web Development (part 1).

If you do web Development for daily living,  you must be knowing the importance of the right tools. So the first article of the blog is about the tools and software for web development.
The primary tools are primarily of the listed types.

Code Editors : There is no code editor that can comfort all the users. In genral it is the matter of the taste.
Below are the code editors that are most famous.

Coda :

 I have got the chance to work with the coda. The coda can be said as Mac only one window complete Solution for the web-development. Coda includes all the required features for your need.
It includes the syntax highlighting , FTP support, Auto Indent, File browser, Quick website view, Integrated web browser for testing, Git/svn/hg support(plugins), etc.
    
          The coda has gained a great popularity among mac users. Recently after a big break the release of the coda 2 has been announced. The coda 2 has all the wish listed features for your code editor
which includes CSS quick edit,Better intellisense, better UI, Multiple tab etc.

         If you still do not find any of the required feature in the application , you will most likely find it at Coda plugins. Which includes plugins from base encoding to bash and coffee script to text and php web-tools.

Notepad++:

Notepad++ is the simple yet a very useful editor. It is windows only tool. The notepad++ ( I will say NPP) is having a large user-base and in active development. It is a GPL licensed open-source application. It do support Code highlighting, keyword completion, various themes, Tabbed document interface, Perl compatible regular expression (PCRE) Search/Replace,WYSIWYG printing,bookmarks etc.

       The most attractive features includes macro recording. Which can make repeated tasks easy.
       Another feature which i like the most is the FTP plugin NPPFTP which comes per-installed with the installation. Use it once and you will be in love with it.
       Notepad++ have a plugin manager which can be used for installing plugins directly from repository.
This plugins includes auto indent, code beautifier, Zen coding, scripting capability with python, etc.


Sublime Text :


 Sublime Text is probably one of the most fun editors because of its super-cool ‘zoomed out’ panning view. On other side the preferences dialog is really  a bunch of text files; this can make it a bit difficult to tweak settings if you don’t know exactly what you’re looking for. I like the option to open a local file when you right-click on its link, and there are a few automation features, so this would make a solid choice of a text editor. (ref)


There still are many of the popular editor that are available on the web/native os which includes textmate, Vim, GNU Emacs, Notepad2.

Even there are complete IDEs for webdev like Aptana, Adobe dream weaver, Netbeans etc.

the other posts of this series will be posted soon.