|
|||||||
New to SitePoint Forums? Register here for free!
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Feb 2005
Location: Internet
Posts: 394
|
Difference between Web & Software Development
Is there any difference between web development and software development?
|
|
|
|
|
|
#2 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2005
Posts: 3,433
|
Actually, no, not that I can think of. A web developer is one who creates software programs that work on the web. What a program works on makes no difference to a developer except the interface. In this case, it's the internet, servers and browsers. In other cases, it's a desktop/laptop computer or mechanical and other electronic devices.
|
|
|
|
|
|
#3 |
|
SitePoint Wizard
![]() ![]() ![]() Join Date: Nov 2004
Location: Right behind you, watching, always watching.
Posts: 5,381
|
There are some differences, mostly language specific but I would also think (never done it myself) that a software developer needs to know an awful lot about the underlying operating system platforms and things like registry manipulation (in the case of Windows machines). With web development you really don't need to worry about that kind of stuff most of the time.
I'm a web applications developer and I have always thought my job (as opposed to a software developer) is a lot easier because I don't need to know most of that stuff. I still need to interact with the OS but not like them. |
|
|
|
|
|
#4 |
|
SitePoint Zealot
![]() ![]() Join Date: Dec 2006
Location: On the internets
Posts: 191
|
There are some very profound differences in the way you have to approach a web application as compared to a desktop application mostly in the fact that desktop applications are usually more robust and require a higher level of programming expertise, (memory management, i/o stream control and advanced data structures, etc...).
As for programming theories, methods and models, they are almost identicle as you can apply good programming practices across the board. |
|
|
|
|
|
#5 |
|
SitePoint Author
![]() ![]() ![]() Join Date: Nov 2004
Location: Åsnorrbodarna
Posts: 12,249
|
One major difference is that a web application is usually accessed via the HTTP protocol, which is stateless. You will either have to maintain state information on the server, or pass it along for each request (usually in a cookie).
This means a very different approach from ordinary desktop applications. |
|
|
|
|
|
#7 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2005
Posts: 3,433
|
You have not shown any differences other than the interface. Whether it's the web or an OS or a vending machine, software is programmed the same, only the interface changes.
|
|
|
|
|
|
#8 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2004
Location: dublin
Posts: 2,040
|
recently moved into software development field from web development. Just new at it and find designing applications the biggest difference. There doesn't seem to be much room for customisation like websites have with CSS.
So I'm finding it difficult to find how to create excellent looking applications. |
|
|
|
|
|
#9 |
|
SitePoint Zealot
![]() ![]() Join Date: Mar 2007
Posts: 187
|
Web applications usually do different things. I wouldnt say that it requires less expertise, i think a real web programmer would know just as much as a desktop application programmer. not necessarily about systems and memory, but they would know more about security, and validating the user input.
web applications are stateless, and require alot more thought about security. Web applications i think also do different things, where as a word processor for example is an application that the user is using to do something for themselves, and a web application is usually an online interface between a business and their clients. |
|
|
|
|
|
#10 |
|
<code></code><WoW></WoW>
![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Honolulu, HI
Posts: 329
|
There used to be a huge difference. Back before web "2.0", before "1.0" even. When pages were nothing more than HTML. HTML is not a programming language. It is a markup language. It's whole purpose in life is to describe content.
As time went on, people tried to make their pages look better. Enter the world of table-based design. Then people wanted other people to DO things with their pages. Enter JavaScript, PHP, etc. So in the beginning, they were two separate entities. Now, not so much.
__________________
My Blog The Obsidian Order - WoW Guild on US-Nagrand nukeemusn = Nuclear Electricians Mate US Navy |
|
|
|
|
|
#11 |
|
Brevity is greatly overrated
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Dec 2005
Posts: 1,424
|
FWIW using Visual Studio (.NET) or Xcode (Cocoa) to develop a modern desktop app is not that hard in that it depends on how complex what you need to do is. It gets harder with increasing complexity of functionality and UI.
At the same time, if all you need is an intranet wiki, building it as a desktop app is not the most sensible choice - even if it was done it would be overkill. Building a Photoshop clone is very complex - as Adobe will be proving not impossible to do on the web with RIA tools like Apollo or XUL or some use of Python, but a desktop app that has all that local horsepower still has some advantages for the time being if you really need to do something intensive. For Apple, all your apps will look sorta like iTunes if you use Xcode well - which makes your app easy to pick up - a good thing. Same for .NET - the "canned" widgets, controls and layouts take some getting used to but you can make it slick with subtle gradients and whatnot - really look at those OS dialogs - they aren't that complex visually - mostly tabs, sliders and checkboxes. It is a good point that you are limited cosmetically when using premade controls and layouts but you can still make a solid looking app. I think we will see the tools get better as far as what they offer in control and design. Interestingly XUL, Apollo and .NET all do or will offer ways to have an offline and online mode so the separations between desktop and web apps will soon narrow to the point of nonexistence. You can build a web app that works on the desktop also (and syncs back up when online if need be) or a desktop app with lots of web functionality - the close to the metal issues like I/O taken care of for you. |
|
|
|
|
|
#12 |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Sep 2006
Posts: 213
|
How has everyone missed the point of user accessibility? with regards to where the users can access the systems from... once you develop a web app, your users can access it from anywhere in the world. If you develop software that runs on a desktop, they must be in front of the computer (physically/virtually using some remote desktop technology)
Much to be said about security and protecting your assets when you develop for the web as well. |
|
|
|
|
|
#13 |
|
SitePoint Evangelist
![]() ![]() ![]() ![]() Join Date: Apr 2003
Location: North Carolina, USA
Posts: 413
|
I agree with what other people are saying on here. I have been on both sides (web and software development). When you're a software developer, you typically have to know a lot more about the OS. Web applications are stateless too, so that is a big difference.
|
|
|
|
|
|
#14 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2005
Posts: 3,433
|
Once again. Everyone is trying to say web and software development are different due to the interfaces. I am saying there is absolutely no differences between the two. You write functions, create data, move information and the ONLY differences between programming the web and programming the desktop is the interface between your program and the device or object. Be it a screen terminal or the web or a robotic arm, it's all the same.
If you think that statement is wrong then answer this: if you write a program to output the display of a table of data, what is the difference between sending that data between a screen and the web or a handheld instrument or a cell phone? The only difference is the interface. Absolutely nothing else. |
|
|
|
|
|
#15 | ||
|
SitePoint Member
Join Date: Apr 2007
Posts: 1
|
Quote:
Quote:
Often a developer will have strengths in a particular platform or range of platforms and recognizing this is key to selecting the correct project / candidate match. |
||
|
|
|
|
|
#16 |
|
Non-Member
![]() ![]() ![]() Join Date: Mar 2006
Location: UK
Posts: 381
|
I think people in here are including html in with web programming
html is like... umm... windows forms to C# |
|
|
|
|
|
#17 |
|
SitePoint Addict
![]() ![]() ![]() ![]() Join Date: Apr 2001
Location: Devon, UK
Posts: 341
|
I think the biggest fundamental difference in the two is that OS applications are client-based, whereas web applications are client-server based.
The languages used can differ - but not by much. After all, you can use PHP to develop a client-based application and, similarly, you can use C++ on your web server. Technologies such as .NET and Java are applicable to both platforms. How you choose between web and OS depends on your requirements. There are certain things that OS apps do well (fast games, distributed processing, file handling) and certain things web apps do well (cross-platform, centralised data, multi-user). But the boundaries are blurring. Many desktop apps have internet connectivity, and many web apps are offering facilities that were typically OS-based, e.g. GoogleDocs. But it's not often you see programmers crossing from one platform to the other. In my experience, I would say that Windows developers have a harder time moving to web development than the other way round. I think that's primarily because:
But, ultimately, if you can program in one language, those skills can be transferred to another platform. Whether you like it is another matter.
__________________
Optimalworks Ltd web design and IT consultancy, Devon UK http://www.optimalworks.net/ We produce elegant, standards-based, accessible websites: Valid XHTML, CSS, JavaScript, DOM scripting, AJAX, PHP, .NET |
|
|
|
|
|
#18 | |
|
Non-Member
![]() ![]() ![]() Join Date: Mar 2006
Location: UK
Posts: 381
|
Quote:
some other reasons are the fact that the speed of your web applications matter. There's many people running the same application from one machine, if the code is moderate on your own desktop, I bet it'll be slow when you have a few users on one server using the same application ![]() I think web programming (remember, this is my opinion) teaches you to optimize your code as much as possible, and with desktop programming I honestly don't care if it's slow- cause it's basically got a whole processor to itself (I know it doesn't, but it doesn't have to run multipul times like it would on the web) I found it really easy to learn C# from PHP (took me a few hours to build a basic application the first time. That was a bot to delete myspace messages). The only thing I found hard was sockets, but after searching for hours on the web I finally found a nice class library for them to make them easy. lol ![]() then, when I grasped C#, asp.net was fine but the problem is, with C#, I don't think I'd be able to.. umm... "hand code" the applications like I can with php. I'll rely on the IDE for a long time I believe... I've started on C++ recently, hand coding console applications. It's a lot harder than C# applications, but it's just like php! so yeah. windows developers will have a hard time switching over to web applications. C++ developers wont have as much of a problem, due to PHP's syntax. But still, the optimization side wont be easy.... after coding in PHP for a few years, it took me a year and a half to realise mysql queries are what will bog down most applications, and it took me two years to understand that RAM = God ![]() |
|
|
|
|
|
|
#19 | |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2007
Posts: 813
|
Quote:
|
|
|
|
|
|
|
#20 | |
|
<GIR! Unleash the monkey!>
![]() ![]() ![]() Join Date: Nov 2002
Location: UK, soon USA
Posts: 315
|
Quote:
This needs to be split into at least two areas of consideration:
(and various others… but the above encapsulate most of it) In the days of yore, developing interactive non-static web applications tended to be the province of C++ developers via the CGI standard of the HTTP protocol. This required an in-depth knowledge of communications and the servers OS. Later this progressed to Perl implementations which started to allow abstraction of the hardware layers from the implementation allowing greater productivity. However Perl as a language suffers somewhat from a geeky image and never really got the popular vote. It wasn’t until PHP, ASP and their ilk that web development started to come to the masses. ASP (with VBScript/JScript) and PHP are both exceptionally well abstracted from the hardware and only require a superficial knowledge of the underlying systems to be productive. Due to this, pretty much anyone who could string together an if statement and understood basic algebra could start creating dynamic websites. More recently this is beginning to change again. Websites are beginning to look and work like applications (SaaS is a good example of the future) and the distinctions between Web and Desktop applications are beginning to blur. Developers are being required to have more than a superficial understanding of the hardware and systems they are using and this is actually beginning to become a problem that business is starting to notice. The cohorts out there are beginning to mostly polarise into around four factions.
These individuals are usually those who are self employed or employed by smaller firms. Most of the larger corporations are beginning to ignore this group as many see PHP and ASP as inadequate.
In basic conclusion to the question “…Is there a difference between a Web Developer and a Software Developer?...” In essence no, a software developer is a software developer, web or otherwise. However, if you consider ‘Web Development’ to be different from ‘Non-Web Development’ then historically yes, there is a difference, one that is beginning to blur. A few years ago, Web Developers generally required less technical knowledge. Although the larger the system being developed, the more technical knowledge required, and coincidently this seemed to tie hand in hand with a scale that went like this: The smaller a system, the more PHP, ASP and their ilk was used. The larger a system, the less PHP, ASP and their ilk was used. As applications got bigger, COM/COM+, Java and more recently .NET got used more, and this requires much more technical knowledge than that required to create a site using PHP, ASP and their ilk. These days as ASP.NET and equivalents are taking their share of the web, higher skill levels are required if you want to go beyond the productivity basics supplied by their respective vendors. As always there is the question of scale, with scale come’s complexity and that’s the basic truth of it. Much of my work more recently has been to do with repair. It is an unfortunate trend that businesses and technical teams underestimate the cost and requirements of using the newer technologies and they can easily become out of their depth. Teams who have happily worked for a decade with the script based technologies with a smattering of back-end components have been rudely shocked by the differences when attempting upgrades. Unfortunately there is also a growing number of developers who are amazing with the older web technologies that are beginning to flounder, and it’s a sorry thing to see – especially in the UK where training is a rare commodity. As a personal view therefore I must say that yes, there is a difference and it costs business a lot money. Hopefully time will remove those differences.
__________________
Matt "Moridin8" Warren ====================================== Website: www.csharp-architect.com ....IRC: Usually freenode... '##csharp' (regular user) |
|
|
|
|
|
|
#21 |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Feb 2005
Location: Internet
Posts: 394
|
Now I am much clear.
Thanks to all fellow members. |
|
|
|
|
|
#22 | |
|
Floridiot
![]() ![]() ![]() ![]() ![]() Join Date: Mar 2004
Location: Clearwater, FL
Posts: 749
|
Quote:
It's going to be a little harder to bury the tractor afterwards though.
__________________
Picksel Color Picker |
|
|
|
|
|
|
#23 |
|
SitePoint Zealot
![]() ![]() Join Date: Jul 2006
Location: Brisbane, Australia
Posts: 144
|
Noone has mentioned compatibility.
Along with the benefits of accessibility from around the world on a bunch of different systems, you get teh side effects of developing for a hoard of different platforms at once (think browser incompatibilities)...SURE, there are bugs in programming languages (looking at you: java deep copying) and there are issues if you are developing a program for multiple platforms (WIN/OSX/Linux/etc) but nowhere near the number of significant/painful differences in implementations of the same features as there are in the web world. Sure liabries change between different versions of OSes, and I'm not saying a program is always going to work on every version of the same OS, but it's more likely and those differences are often very well documented. <cry>Looking at my site render 3 different ways from the same source code makes me want to move back into application programming where you don't have to be thinking about whether the cow of a thing will work for every single line of code you write. It really is just disgusting and a pretty sorry state of affairs.</cry> I guess if you stick to server side coding you avoid a lot of those problems, but then you miss out on all the potential sexiness that you tried to make but ended up having to redo 3 times over to get it working in IE... So if you want to be to blame for the fact your program doesn't work, choose application programming (C++, Java, Python, Smalltalk, etc) if you want to blame someone else for the fact that someone is blaming you for your program not working...choose web programming. Someone still blames you but at least in your heart you know it conformed to standards and wasn't really your fault. |
|
|
|
|
|
#24 |
|
SitePoint Enthusiast
![]() Join Date: Mar 2007
Posts: 52
|
Id like to make the point that web development (if done well) is the HARDEST type of programming out there. I do both applications and web development as a bioengineering.
The web environment is a constantly changing world. Email protocols, DNS protocols, HTTP... and then the design factors are also constantly changing form CSS1, CSS2, CSS3?, flash, DHTML, Javascript, Browser compatibility, etc. However, web development is also the EASIEST to learn. If you want to make a web page knowing nothing of the web you can make something pretty good looking in a matter of hours. Desktop applications have a higher learning curve, yet the standards do not change that much. Example: Java SWING has not changed much and its always backwards compatible. Also, web development is also more prone to attack which requires a higher level of security. With a desktop application there is VERY slight changes that a user will go into the memory and change memory values on the fly. However, with web applications there is a very high change users will play with url parameters, cookies, forms, and everything they got. Now, whether or not you are asking because you'd like to learn either web development or application development, id STRONGLY suggest you to learn Object Oriented Programming (OOP) first -- preferably in Java, and then start using PHP OOP for web development. Last edited by r937; Apr 28, 2007 at 03:55.. |
|
|
|
|
|
#25 | |
|
<GIR! Unleash the monkey!>
![]() ![]() ![]() Join Date: Nov 2002
Location: UK, soon USA
Posts: 315
|
Quote:
If you are talking about an entire system from perimiter through all the layers, tiers and complexities of running a large web farm, then I would agree with you. Scale... it's all about scale.
__________________
Matt "Moridin8" Warren ====================================== Website: www.csharp-architect.com ....IRC: Usually freenode... '##csharp' (regular user) |
|
|
|
|
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
|
All times are GMT -7. The time now is 06:06.


















Linear Mode
