• Web development software - What to use, why to use
    39 replies, posted
I'd like to open a dicussion on web development software. I noticed a general hate on Adobe's Dreamweaver (I used this as my dad has done this since it was still a Macromedia product), and I'd like to compose a list of software development software with their pros and cons from people who have worked or do work with their tools. During my years, I'd like to compose a small list of software I actually used: [b]Adobe Dreamweaver[/b] I heard mostly complains about this piece of software. Mostly, the complaints don't go in depth. The software is "bad". I have used the software (CS4 up until CS6) and the only big issue I have is the fact that Dreamweaver's FTP client is terribly slow and times out a lot of times. A good feature of Dreamweaver is that projects can be created, files can be synced between (test / live) server and the developer, but no projects can be openede simultaneously. [b]Notepad++[/b] Notepad++ is a tool that works with almost every language. The syntax highlighting for PHP seems to be a bit outdated as it doesn't recognize a lot of functions, however, the program does it's job. The FTP client does not allow files to be stored locally and every file is edited "live". It is lightweight and also comes with an option to be installed as a portable application that can be ran from any USB device. [b]Netbeans IDE[/b] A tool that allows the creation of projects. Projects are stored locally and files are automatically updated when changed locally. You also have the ability to drag files into your local project folder. The files will be detected and uploaded to the server. Netbeans has automatic closing of tags and highlighting depending on the PHP version of the server. Multiple projects can be opened at once without having to close an other. I'd like any more pros and cons so I can compile an actual list containing the pros and cons, rather than giving my own opinion on the software. I'm still looking for the "right" tool to use, with the most features and the least "problems". I still find it annoying that I can not work on files on one PC and then I have to sync my changes with the webserver to be able to download them locally. I hope there is software that supports either subversion, git, or something else. I'd like to hear your opinions or recommendations. I'm not trying to be biased about software in one way or another. I simply want to compile a list of all available software and it's uses.
[QUOTE=Cyberuben;44827617]I hope there is software that supports either subversion, git, or something else. I'd like to hear your opinions or recommendations.[/QUOTE] Yeah, [url=http://www.jetbrains.com/phpstorm/]PhpStorm[/url] supports SVN, Git and probably some other VCSes. However, it's not free, and I can't vouch for how good it is because I never used it. Give the trial a shot and see how you like it, though. I use [url=http://www.jetbrains.com/ruby/]RubyMine[/url] myself, which is a really neat Ruby-focused IDE from JetBrains based on the same foundation as PhpStorm.
The largest complaints aimed at tools like Dreamweaver is that they are WYSIWYG editors which will produce bad code. Of course, you don't [I]have[/I] to use that part of Dreamweaver. In general, an IDE tends to have an overwhelming featureset for a beginner. It's best to get used to coding with a simpler editor first, and switch to an IDE when you feel it may offer you some benefits, and are able to understand what features it has and how you would use them. [QUOTE=Cyberuben;44827617]The syntax highlighting for PHP seems to be a bit outdated as it doesn't recognize a lot of functions, however, the program does it's job. [/quote] It's not outdated, it just limits its highlighting to some core functions. If you want an IDE that highlights every function, you should look into ones that can integrate with the docs. These will usually also show you a quick reference for the function call you're writing (parameters, return values, one-line description). [quote]I still find it annoying that I can not work on files on one PC and then I have to sync my changes with the webserver to be able to download them locally. I hope there is software that supports either subversion, git, or something else. I'd like to hear your opinions or recommendations.[/quote] Unless I misread your question: It's a good idea to set up a local webserver for development. That way, you can clearly separate development and production code, and don't have to sync anything until it's ready. You don't want to use a version control system for this. Even when working with a team, I'd set up a local development environment, commit changes to the development branch of a repository only at reasonable times, and (in the case of a distributed VCS like git) only push to the remote development branch once it makes sense for the other team members to see them. If you really have to use a remote development environment (because setting up a local one with all its components and keeping it up to date would be too inconvenient), a tool with preferably transparent and automatic syncing support, or a way to script it in, or (probably the simplest solution if available) mounting your remote environment as a network share would be the way to go. Don't use a VCS and waste time writing a commit message for every temporary print statement that in the end will do nothing but make a mess out of your commit history :v: [editline]17th May 2014[/editline] Personally, I have my homeserver's document root mounted as a network share, and use Notepad++ on Windows, gedit or geany on Linux. I haven't really done anything to their configurations, because I'm lazy. Were I to set up a proper environment, I'd include auto-indentation, auto-completion, doc integration (as mentioned above) and symbol parsing (i.e. have the editor look through my files to find all my defined variables, functions, classes etc. and show me a tree in a window/pane and let me jump to their definitions from there and wherever I use them in the code, as well as enable the same quick reference I'd get with standard library functions).
I love sublime text so much i'm gonna make a sort of web-replica of it using [URL="http://codemirror.net/"]CodeMirror[/URL], Monokai theme and PHP :v:
It's really hard for me to go past Visual Studio as a fully-featured IDE. I mostly use it for C#/HTML/JS/CSS. The main benefits are its extremely strong debugging capabilities and an excellent project/solution system. If you're working in the .NET ecosystem, it's a real no brainer. And ASP.NET MVC is a very, very good web framework. Although these days I'm really only utilising the WebApi stuff and writing more single-page style websites. VS also ships with a built-in webserver that is very similar to IIS in nature so it's very easy to get up and running writing server-side code. Not to mention its excellent web publish system. They have a pretty decent set of [url=http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx]free express editions[/url] that are reasonably fully featured, the main downside is you have to use a different version for different project types (web vs. desktop apps for example). The main tool in my belt for VS is of course [url=http://www.jetbrains.com/resharper/]Resharper[/url] - Jetbrains creates amazing developer tools and Resharper is no exception, this is required for any serious VS user IMO. I have a lot of respect for Visual Studio and what Microsoft has achieved with it, it truly is a first-class solution unmatched by any IDE for any other platform. (The closest I've heard is possibly the suite of JetBrain's IDE's, IntelliJ IDEA, PyStorm, WebStorm etc.) For editing simple text files and things like XML files where I don't need a full project/folder structure, Notepad++ is of course my go to. However, after trialling Sublime Text for something recently, I'm very keen to give this a try as a replacement for Notepad++ Regarding having source control built into the IDE, I really don't like that, of course VS has squillions of extensions to do just that, I prefer to manage my source control outside of the IDE.
Currently I'm using [URL="http://brackets.io/"]Brackets[/URL] for anything web related. It's open source, yet supported by adobe and also has powerful plugins since it's completely made in html and js. It's greatest feature is "inline css editing" (though there are extensions that extend it to work with AngularJS and stuff). Basically you click on a css attribute and it will open a small area for you to edit the css/create a new rule and stuff. It solves my biggest problem with web stuff: Having to switch between files and thus loosing yourself. [IMG]http://puu.sh/8R3HN.png[/IMG] There's also a "live development" where all your changes get instantly applied in a browser window. It has everything you expect from a text editor and does a great job of it without getting too complicated. Once there's a windows client for [URL="https://atom.io/"]Atom[/URL], I think I'll switch to that though.
If you want a good WYSIWYG editor that produces nice code, get Macaw [url]www.macaw.co[/url]. Throw that Dreamweaver shit away
Notepad++ / Chrome Inspect Element I'll pull up the files in a split view in Notepad++, then jump onto the page with Google Chrome's Inspect Element and make changes. Then I'll flick back to Notepad++ and implement them, refresh, and repeat. I'm still a rookie, so I'm not sure how laughable this method is, but it works for me and I like how visual it is. Here are the Notepad++ plugins I have found to be useful: Autosave2 // Converter // HTML Tag // TextFX Characters
I really like [url=http://www.sublimetext.com/]sublime text[/url] [[url=https://gist.github.com/jung3o/5c870ed9fb5ec2d83ec0]my settings & plugins & picture[/url]] There's a really nice package manager made for sublime text which is filled with very useful plugins and the design is great imo. I dont need all the toolbars from any other ide's and loads really fast. I think FTP plugins are silly and nothing should be live edited. Git comes in to play when programming from different places. Even when hosting, use git to pull into the server. I also love the minimap on sublime text
i compiled atom.io this week to give it a whirl, and i'm quite impressed! it runs a bit slower than say vim but that must be due to it being built with webkit in the background (i think the text editor is made using DOM elements) [t]http://lw2.co.uk/s/~1400511046.png[/t] has a bunch of really useful plugins, and it is all integrated in the settings so you can have a browse and use whatever you like :-) [quote] [t]http://lw2.co.uk/s/~1400511270.png[/t][t]http://lw2.co.uk/s/~1400511256.png[/t] [/quote]
I'm using IDEA currently and really liking it. It's not really a light editor, but works nicely with my workflow, and has useful features such as being able to set a server to deploy to and then uploading all the files with one button, as opposed to using an external FTP client. Admittedly I'd sure other editors have this too, but it's nice to have.
Does externally hosted software count? I'm really liking [url=http://beanstalkapp.com/]Beanstalk[/url] - We use it with Git and have deployments set up for staging and production environments. It REALLY comes into its own with large code bases such as a Magento store. For local development we have a central MySQL Database (Deployed with [url=http://www.turnkeylinux.org/mysql]Turnkey Mysql[/url] on a VMware host) and we each have apache2+PHP to serve up the pages and we edit with [url=https://netbeans.org/]NetBeans[/url] (The integrated GIT functionality in netbeans really plays well into this workflow) For testing, we use the full suite of [url=http://www.modern.ie/en-us/virtualization-tools]IE testing images[/url] on that same VMware box. Then as an internal note taking and information sharing system we have a MediaWiki Installation.
Notepad ++ is probably the only thing I use. Works fast and its simple. Thats it.
[QUOTE=LennyPenny;44839814]Currently I'm using [URL="http://brackets.io/"]Brackets[/URL] for anything web related. It's open source, yet supported by adobe and also has powerful plugins since it's completely made in html and js. It's greatest feature is "inline css editing" (though there are extensions that extend it to work with AngularJS and stuff). Basically you click on a css attribute and it will open a small area for you to edit the css/create a new rule and stuff. It solves my biggest problem with web stuff: Having to switch between files and thus loosing yourself. [IMG]http://puu.sh/8R3HN.png[/IMG] There's also a "live development" where all your changes get instantly applied in a browser window. It has everything you expect from a text editor and does a great job of it without getting too complicated. Once there's a windows client for [URL="https://atom.io/"]Atom[/URL], I think I'll switch to that though.[/QUOTE] This is awesome, thanks. Can't believe there's so many tools available that I haven't heard of. seriously this is so great
I use Visual Studio and C# i really enjoy the seamless integration with webapplication and forms, i would recommend getting a course in it as it is a microsoft product and the wording in it doesnt make sense. However i dont feel like there isnt the thing i can make in it, plus the namespace using is awesome and easy to implement stuff into.
notepad++ always for me
[QUOTE=dustymcp;44876010]I use Visual Studio and C# i really enjoy the seamless integration with webapplication and forms, i would recommend getting a course in it as it is a microsoft product and the wording in it doesnt make sense. However i dont feel like there isnt the thing i can make in it, plus the namespace using is awesome and easy to implement stuff into.[/QUOTE] I see there isnt many windows users, maybe its one of those forums, oh wait its facepunch the opensource nazi's..
[QUOTE=dustymcp;44976273]I see there isnt many windows users, maybe its one of those forums, oh wait its facepunch the opensource nazi's..[/QUOTE] All but three people in this thread are using Windows.
Oh oops. I've been a bit inactive in this section so I'll update my OP soon! Sorry!
[QUOTE=Kwaq;44849527][t]http://lw2.co.uk/s/~1400511046.png[/t][/QUOTE] Just fyi that vertical line is there so you don't write lines that long :v: [editline]2nd June 2014[/editline] Oh I just noticed that there's a build guide for windows! Let's see if I can manage it.
I started using [URL="http://codeanywhere.com"]http://codeanywhere.com[/URL] and fell in love with it. The free accounts are good, but I have the $5 a month subscription. Has FTP, SFTP, Code Completion, Access to your server's command line, beautiful UI, Git+Dropbox+Drive support, file revisions, etc. Here's a screenshot I took of my setup. [img]http://puu.sh/9bXHE/8375e186ff.png[/img]
Wow many resources. Actually I have little bit knowledge about Netbeans. As I know it is Open Source Software.
[QUOTE=Th3applek1d;44978790] Has [b]FTP[/b], [b]SFTP[/b], Code Completion, [b]Access to your server's command line[/b], beautiful UI, Git+Dropbox+Drive support, file revisions, etc. Here's a screenshot I took of my setup. [img]http://puu.sh/9bXHE/8375e186ff.png[/img][/QUOTE] So they got all sorts of credentials for your server? Ouch.
[QUOTE=Alternative Account;44989108]So they got all sorts of credentials for your server? Ouch.[/QUOTE] Just like any other web IDE like Cloud9 or somthing... This IDE is pretty old and as far as I know people haven't had any issues with their credentials being stolen... But worst case scenario, I have to change my box's root pass...Don't use that password for anything else soo.
[QUOTE=Th3applek1d;44990298]But worst case scenario, I have to change my box's root pass...[/QUOTE] No. The worst case scenario is that you'll have to completely set up your server from the ground again. If an attacker gets root access - which they would immediately have in your case - you can't trust the server anymore. Root can do a lot more than you might think. [url=http://en.wikipedia.org/wiki/Rootkit#Kernel_mode]Kernel-mode rootkits[/url], which only require root privileges for installation, can be [url=https://www.cert-bund.de/ebury-faq]practically impossible to detect[/url].
For development I have recently replaced Sublime Text with Atom and I'm currently pretty impressed by it. It's still not fully production ready but it's already usable in many cases even on Windows.
[QUOTE=kaukassus;44997156]For development I have recently replaced Sublime Text with Atom and I'm currently pretty impressed by it. It's still not fully production ready but it's already usable in many cases even on Windows.[/QUOTE] I got an Atom invite, but it seemed extremely buggy for me on OS X... That was about a month or two ago, though. Has it improved significantly?
[QUOTE=Th3applek1d;44997937]I got an Atom invite, but it seemed extremely buggy for me on OS X... That was about a month or two ago, though. Has it improved significantly?[/QUOTE] Since the whole Invite thing, Atom went 100% FOSS. it has improved a huge amount since then. The OSX and the GNU/Linux version worked flawlessly for me. The Windows versions seems to have some problems. It currently looks like the Atom dev's are focusing on the OSX version the most at the moment.
[QUOTE=Alternative Account;44996855]No. The worst case scenario is that you'll have to completely set up your server from the ground again. If an attacker gets root access - which they would immediately have in your case - you can't trust the server anymore.[/QUOTE] Which still isn't a big issue if you're taking regular backups (like you should be) and using configuration management tools like Chef or Puppet instead of manually setting up your servers (like you should be). The real worst case scenario is that someone gets your user's private data or uses your server to send spam.
[QUOTE=LennyPenny;44978065]Just fyi that vertical line is there so you don't write lines that long :v: [editline]2nd June 2014[/editline] Oh I just noticed that there's a build guide for windows! Let's see if I can manage it.[/QUOTE] I find the ruler useful for actual programming, not DOM stuff :v:
Sorry, you need to Log In to post a reply to this thread.