The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

as luke points out, it really depends on witch platform your developers are skilled with.
mysql is perfectly stable. the reasons for picking postgree should rather be that it supports more of the advanced features of sql. but again - that's highly dependent on your developers, since if they don't utilize these features, it deosn't really matter.

When this is the only issue, I found it's often better to use already available tools instead of writing a new one. The usual scenario is that I provide the client with instructions, templates etc required for entering bulk data in Excel (or a similar spreadsheet, but MS Office is a de facto standard over here); the data is exported in one format or another (99% of the time it's a simple CSV file) and then uploaded through a Web interface and left for the server to crunch and store the data.

Web based inventory, sales, ecommerce of a bakery with 36 branches sounds like a straightforward think to implement with a LAMP stack. Technologically .NET or PHP are equally able to handle this type of implementation. If NASA can use MySQL for large database apps, I doubt that your bakeries will push it much.

LAMP will provide some incremental savings in the years ahead by reducing upgrade and licensing costs. However it really depends on the developers. The time/cost of training a .NET programmer in PHP or a PHP programmer in .NET would have a major effect on the budget.

The only reasons I recommend .NET are: 1) If there is mostly only knowledge of .NET by the developers, 2) there are other applications that are .NET that need to be closely integrated.

For me that would be the deciding factor. How does the physical inventory get tracked and updated? What is the magnitude of this task? Are you interfacing with an existing system? Are there input devices like bar code scanners?

Do you have specific printing needs? Do you have to print onto pre-printed forms? For example, in various countries invoices, bills of lading, etc are legal documents and sometimes have to be printed in special formats by law. Do you have to print inventory tags?

Is the a need for a POS presence?

It is in the degree of integration with the physical world where PHP can fall behind.

Server side, I don't think it would make much difference.

I don't think php-gtk is a reasonable solution. Pick the right tool for the job, or pick the right job for the tool, but don't try to use the wrong tool for the wrong job.

You should get to the bottom of "many clients' persistence to choose .NET" It may be fact or fiction. LAMP is a proven technology and if that is what your developers know, you will benefit in the long term.

im about to propose a project. the project is basically focused on the inventory, sales, ecommerce of a bakery with 36 branches.

Yeh, PHP, .Net, J2EE, whatever the developers are proficient at. Just make sure you have people that are good, and not people who just learnt the technology 3 months ago. Ensure they have a couple of years of commercial experience in that technology.

Originally Posted by cyx_23

Now i just want to know the opinion of people regarding this.

The people in this forum are biased to PHP.

Originally Posted by cyx_23

In addition, is Mysql robust enough for this? or do i need to go PostGres?

I would stay clear of MySql for anything except small sites. Postgres is an excellent alternative (and free - even for commercial usage). I don't know if you would have difficulty finding people who know postges as easily as the more popular database(?)

Originally Posted by cyx_23

A lot of people have been saying that .NET is the way to go.

.Net is a great framework. I highly recommend it. But if you have people that are very proficient in PHP and others proficient in .Net, there wold be little difference. The major difference is when you hire new people. Because .Net is a standardised framework, you would be hiring people who konw the framework and have a very shallow learning curve.

you could also do a thick client using php-gtk to make client applications, so you could have an all-php solution

.NET is MUCH nicer for client applications than PHP-GTK (PHP-GTK being a fairly new technology). If you are going to integrate web servers with client applications, .NET is bloody perfect. That is the one area where it is strongest.

With that said, if your developers are proficient with PHP, it's a safer bet to go withthat.

I have used MySQL and PHP for a complete enterprise management solution, including inventory, sales and lead systems, ecommerce and multiple store management, and deployment / shipping / tracking of packages and delivery. All of this integrated nicely with a barcode scanner that was programmed to enter the barcode plus a carriage return, and I never even had to resort to a desktop GUI for this, it all was web based and worked very nicely together. The inventory and shipping processes were both automated by way of the barcode scanner and it never required any specific programming to interface with the hardware.

All of this integrated nicely with a barcode scanner that was programmed to enter the barcode plus a carriage return, and I never even had to resort to a desktop GUI for this, it all was web based and worked very nicely together. The inventory and shipping processes were both automated by way of the barcode scanner and it never required any specific programming to interface with the hardware.

I'm not denying that PHP is very capable of handling large-scale apps if you know what you are doing, but barcode entry does not exactly require a sophisticated gui. I made a GUI for my barcode reader with .NET and integrated it with a web service application in less than 30 minutes total. That said, barcode entry is so extremely simple that any system can do it. However, when you need more sophisticated GUIs, the web is simply very unsuitable due to the fact that the entire, or in best case, parts of the interface has to be transferred every time you give the system a command.

However, when you need more sophisticated GUIs, the web is simply very unsuitable due to the fact that the entire, or in best case, parts of the interface has to be transferred every time you give the system a command.

You are really talking about a couple of different things at once: network speed/bandwidth, client interface complexity, interoperablity. I agree that .NET is great solution of you stay within Microsoft's stack. But if you aren't there or don't want to be there long term, then there are many other solutions.

For example, I would expect it would be much easier to build a complex GUI for a mix of Windows, Mac and Linux clients using PHP/Javascript than .NET (where maybe Mono could get you part of the way).

I've never been in favour of Microsoft, and more so Dot Net. At the end of the day though, Open Source does have a lot more going for it than a propertiety technology does, that's a fact.

PHP is upto the job and let's not kid ourselves about that, it is. Period. That said, therefore the first option would be to use PHP, and that is me being biasd. If on the otherhand PHP isn't suitable, I'd like to think that Java would be the certain alternative; anything but Dot Net would be a suitable candidate

I've never been in favour of Microsoft, and more so Dot Net. At the end of the day though, Open Source does have a lot more going for it than a propertiety technology does, that's a fact.

PHP is upto the job and let's not kid ourselves about that, it is. Period. That said, therefore the first option would be to use PHP, and that is me being biasd. If on the otherhand PHP isn't suitable, I'd like to think that Java would be the certain alternative; anything but Dot Net would be a suitable candidate

Interesting you say that. I would sway in favour of .NET over Java if i had the choice. I'm not pro MS (I'm not mega anti them, but I would like to behead all of the member of the IE dev team, because IE is the scum of the earth).

I personally think .NET is much better, there seems to be a lower learning curve to it and it has managed to stay clear, and learn from some of the java pitfalls. However, Java might be a better way to go should you require a thick client with support for Linux and Mac OS X. However, it's far from ideal. Java's UI is a nightmare and very unuseable compared to native OS UI's. I guess thats what you pay for OS GUI abstraction.

As for MySQL. people seem to question the use of MySQL for bigger projects. I know my boss did the same when I started working on the site I'm finishing atm. I'm not pro MySQL myself, but MySQL can handle large amounts of data with ease. It what you need to do with the data which is the bigger question. MySQL lacks critical RDBMS features such as views, triggers, etc etc in it's current state (excluding MySQL 5.x). To me PostgreSQL does offer more feature wise. However, for very large sites, MySQL will be better as there are basic replication systems built into MySQL.

Take a look at projects like Flickr. That was based on MySQL. One of the ways it achieved it's goals with MySQL was to take advantage of the idea of "engines" behind MySQL, merged with replication. The bulk of the site was using InnoDB due to it's transactional features. The InnoDB tables where then replicated to MyISAM for the search engine, which used the full text index that MyIASM uses.

The issue with MySQL is what you want to do with the data, not much you have. My current project is for a property sales and letting franchise with about 120 offices. Being a franchise means the admin backend has become a way to unify all of the offices due to the decentralised nature of a franchise business. Overall seems to have a lot in common with what you are trying to achieve. Our database is several 100Mb in size and this is no issue for MySQL.

It is amazing to me that Microsoft spent millions, probably hundreds of millions of dollars to develop .NET and that LAMP is competition at all. Same with Java. Amazing that PHP is even a contender given the quality, depth and polish of Java and .NET. PHP simply has great basic premises, that is why it is competetive.

Given how much Microsoft spend on marketing it is not suprising about the "many clients' persistence to choose .NET". I don't how a business person would every hear of PHP except word-of-mouth.

I didn't say that "that php is the greatest thing since sliced bread" I only said that it has great basic premises. None of those premises are particularly unique.

because its popularity is not a valid reason

Well your going against a basic democratic principle there. Popularity certainly does not equal quality, but over time it is one of the better indicators. (I am assuming that you are not actually saying that PHP is low quality, but that you don't like some things about it)

I think the idea that VB and PHP are just crap that took off is just silly. The idea that "any idiot can get something working" is sort of one of the premises of PHP. I consider PHP's openness to amateur programmers a positive.

I would actually say that PHP was the language that brought C to the web. C programmers (and there were/are lots of them) could suddenly build web apps. The PHP learning curve is similar to C as well. Of course, C is another any idiot could write a crap program language.

Well we have "sealed" all over the place, so they learned nothing from "final" . The libraries seem to still have a lot of MFC like inheritance as well, although they may be tied to older Win32 code.

Despite some small language improvements, they are still seem to be playing catchup with Java. I still see .NET weak on O/R tools and IDEs compared with Java (although both are streets ahead of PHP). Never mind the security model, cross platform, telephony/mobile, etc.

I think Microsoft did have the good sense to pitch lower than the enormous learning curve of J2EE. For example it seems much more suitable for small web shops than Java unless you are very selective with the libraries (I have only played with C# so I may have missed complications). The depth of open source support for Java is staggering. Interesting new stuff (mock objects, dependency injection, Aspects, full text, FIT, Prevayler, etc) still comes out in Java first.

That leaves .NET in the middle? That PHP owns the lower rungs of the ladder must really be ruining Microsoft's day.

Microsoft playing catchup to Java? Of course they are, and they will still be doing so for the forseeable future.

Let's not forget that we have some serious players who back Java, and in that their existance solely relys upon that. That is a strength that Dot Net doesn't have in my view, and as to why I said that Java would be a more competent alternative to Dot Net in most cases

As for PHP, well I'm biased towards this so I won't comment any further in that context.

Well we have "sealed" all over the place, so they learned nothing from "final" . The libraries seem to still have a lot of MFC like inheritance as well, although they may be tied to older Win32 code.

Despite some small language improvements, they are still seem to be playing catchup with Java. I still see .NET weak on O/R tools and IDEs compared with Java (although both are streets ahead of PHP). Never mind the security model, cross platform, telephony/mobile, etc.

I think Microsoft did have the good sense to pitch lower than the enormous learning curve of J2EE. For example it seems much more suitable for small web shops than Java unless you are very selective with the libraries (I have only played with C# so I may have missed complications). The depth of open source support for Java is staggering. Interesting new stuff (mock objects, dependency injection, Aspects, full text, FIT, Prevayler, etc) still comes out in Java first.

That leaves .NET in the middle? That PHP owns the lower rungs of the ladder must really be ruining Microsoft's day.

yours, Marcus

I also kind of view .NET as in the middle. With .NET 2.0 I see them working their way down, eating away at PHPs marketshare, by offering a super-cheap Visual Studio.NET edition IDE, and a cheapo-development edition of SQL Server 2005, and other flirts with small-timers. Java is still way ahead from a pure programming perspective, and community support. Java is kind of weak from a web development perspective; Web Forms is MUCH nicer to work with than Struts - that said, Java is cloning Web Forms with Java ServerFaces, but that is still in the process of gather community support. Java is so incredibly strong, and Sun has really gotten a fire burning in their back part of their pants since .NET entered the market. I'm really seriously considering moving my main development platform to Java.