Background Image
Web
Development
Tools
Tool...
49 Projects
Web Development Project
Web
Development
Project
Project Guide: Resource choice
Creator:Graphix
Last edit:2010-11-02 19:57:01

In this article you will learn how to choose the resources for you project.

Markup language: (X)HTML or XML?

XML is the foundation for many data formats, including (X)HTML. (X)HTML is a subset of XML and is able to define color, shapes and objects.

(X)HTML is the most commonly used type of XML on the web. (X)HTML is not a strict language, and variation is possible, that's why the W3C has created some standards for it (e.g. Strict, Traditional, Frame). w3schools.com has a great reference to what XHMTL applies to which standard.

XML is in contrary to XHTML strict, and is useless when an typo is made. It has become popular because it can be used to transfer data between programs, operating systems, and firms. Why XML is so convenient to use is that it allows any developer to create their own data format using their own terms and requirements. This is the reason why alot of developers, including Microsoft, have built all of his products around the concept of XML.

In my own experience, using XML to create webpages is alot more difficult than using XHTML. But if you want to easily transfer data from the visitor to the database without giving them direct access to the database, XML can be the solution, as you can just simply let the visitor write a XML that contains the values he wishes to insert into the database. Then, after your approval, it can be added/updated into the database.

Database: PostgreSQL or MySQL?



  • Features. Here PostgreSQL has the upper hand. The stable version of MySQL does not support subqueries, stored procedures, subqueries, cursors or views, all of which PostgreSQL does. One of their more serious mistakes was for the MySQL developers to justify the exclusion of many of these features (and even more fundamental features such as referential integrity, still only partially integrated) by claiming that they were not necessary. Of course this is true in many cases, but to hardened DBA's many of these features are vital, and this lack gave MySQL a reputation as a 'toy' database, from which it is still recovering today. However, many of the contributors to the flame wars mentioned above have not been keeping up with what MySQL now offers - it does support transactions and referential integrity, in spite of what you read all the time! You can see the roadmap here. MySQL has committed to implementing all ANSI-SQL (standard SQL) features, so in about 2 years MySQL should support all of the listed features. So PostgreSQL seems to 'win' this one, but you need to consider whether you actually need these features. The Open Source databases claim the database market is becoming commoditized, and most databases offer all the features you need. So the other factors assume a greater importance.

  • Support. Support can mean many things. MySQL is much more widely used, so many more applications support MySQL, and there is a larger community ready to assist you with problems, as well as more books and resources on MySQL. MySQL AB, the commercial company guiding MySQL, and who employ most of the developers, offer various levels of support contracts. Of course, PostgreSQL has active mailing lists, and there are commercial companies offering support as well, so you are not likely to go too far wrong with either.

  • Ease-of-use. Another highly contentious issue. Debate usually goes along the lines of "A: MySQL/PostgreSQL is much easier to use because... B:You idiot. PostgreSQL/MySQL is just as easy because...". Often it is simply whichever one the person uses is the one that is easiest to use, which is not that helpful. An astronaut may find flying the space shuttle easier than writing a document on a PC, but that tells us more about them, not about how easier we would find either. If you are migrating to one of the databases, it depends where you come from. And, it depends on what you are doing. If you regularly use sub-selects or triggers, rewriting them in MySQL or a scripting language will seem unecessarily complex. PostgreSQL's extra functionality can translate into complexity if you do not require any of it. It also depends on what tools you are using - phpMyAdmin for MySQL is a well-developed tool, while phpPgAdmin is not as fully-featured. So if you are looking for a web interface in PHP, and for none of the features MySQL lacks, MySQL would be your choice here. But perhaps you do not need the extra features of phpMyAdmin? They both do everything you want!

  • Stability. MySQL claims in its press releases to be extremely stable, but the 'word on the street' is that this isn't true. It is easy to blindly repeat mantras, but again, it depends on your needs. Running a website with 10 users a day? Even MS-Access would be stable! I have used MySQL on high-volume websites, both its non-transactional MyISAM tables, and the transaction-capable InnoDB table types. And yes, I have experienced table corruption numerous times, but this could always (I think!) be blamed on faulty hardware, and I have never had a problem recovering (with the simple REPAIR TABLE command turning me into a master DBA). MySQL is used in extremely high volume environments without problems. PostgreSQL's advanced features are more likely to be stable than the newer MySQL equivalents, having been implemented for longer. However, replication is much newer in PostgreSQL than MySQL, so the reverse applies. But here again, the supposed commoditization of databases means that database stability is taken relatively for granted, and the software tends to be a lot more stable than the hardware it relies on.

  • Speed. MySQL aimed first to be a fast database, while PostgreSQL aimed to be a fully-featured database, and both are converging in the other's direction. Used appropriately, MySQL's MyISAM tables are indeed extremely lightweight.

  • Existing skills. Where I work, we use MySQL because that is what we were running when I arrived. The team had MySQL skills, and it made sense to continue this. There was an ill-conceived attempt to move to Informix, but while the team battled to handle the move, I learned to tune MySQL (which taught me most of what I know about MySQL, and provided great case studies for my book), and the move was eventually shelved.

  • Licensing. MySQL AB is often used as a model for Open Source companies attempting to make money. MySQL is released under the GNU GPL (General Public License), which requires derivative works to be similarly licensed, but also offers commercial licenses for those who do not want to be restricted in this way. PostgreSQL is distributed under the BSD license, which basically allows any use of the code as long as the credits are maintained. BSD vs GPL is another topic for a flame war!



Also see: http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

Preprocessor: PHP or ASP.NET?

PHP vs ASP.Net! By Dr Ioannis Syrigos.
http://www.thechair.gr/php-vs-asp-net/


  • PHP generally is much simpler than ASP in terms of usage. PHP was written in C which make coding simple. On the other hand ASP uses a simplified form of Visual Basic language known as VB script (although with .NET you can choose between all the different languages mentioned above). However ASP has a steeper learning curve.

  • One of the big advantages of PHP is the great support of different database systems (with MySQL usually as the first choice). Although connectivity in ASP is much improved since its first versions.

  • ASP.NET is generally faster than PHP (both on Window and on Linux servers) with the exception of File Copy and Attribute operations.

  • On the other hand loading speed is a big factor. And in that case PHP is faster, because ASP uses an overhead on the server since it uses a COM based architecture (check below the advantage of compiling of ASP).

  • Related to the previous point, another important statement is that PHP isn’t compiled, except at runtime. However .NET enjoys all the benefits of fast and accurate compilation. However with PHP you can use Zend’s PHP Accelerator which is doing more or less the same (but this product isn't free!).

  • When it comes to databases, MySQL on PHP is a little bit faster than SQL Server on ASP. However in terms of performance for large scale databases opinions vary.

  • .NET programming has more advanced options like multi-threading, asynchronous requests etc. So when it comes to high end performance programming ASP would probably be a better choice.

  • PHP is open source which means free to use with tons of users with helpful hints and solutions.

  • PHP enjoys the flexibility of running on various platforms such as Linux, Unix, Windows and Solaris. On the other hand ASP is primarily related with Windows platform.



If you want your own suggestion on this topic to be added to our guide, post a comment below!
Comments
Latest news
New project: Math Quiz
2010-11-09 18:07:48
Read more...

New project: Custom Messagebox
2010-11-06 19:10:50
Read more...

New project: Visitor Counter
2010-11-01 21:39:04
Read more...

New project: Image Editor
2010-11-01 21:37:27
Read more...

New project: Image Generator
2010-11-01 21:33:05
Read more...

Projects Contact © 2010 WDP - All rights reserved Terms and Conditions Log in