Archive for February 2013
– jQuery has vibrant and helpful community and it is easy to learn. jQuery has very good documentation, in addition there is a great number of tutorials on the web demonstrating jQuery usage. If you encounter a problem, you can ask a question on any web development forum and there will be a large development community waiting to help you :). Lots of people not only use it but also write tutorials, share their code, make plugins. Also jQuery has a very low learning curve.
– Widespread adoption. Countless big players on the Web are using jQuery: IBM, Netflix, Google (which both uses and hosts the jQuery library), and Microsoft, which now includes jQuery with its MVC framework and works with the open-source jQuery project to contribute new features to the jQuery library. Also there are thousands of big sites that use jQuery: among them are WordPress.com, Pinterest, Reddit, MSN.com, Amazon, Yandex, Microsoft.com, Instagram, Slideshare, the list can go further and further
– JQuery is simple. jQuery objects are chainable. JQuery objects return other jQuery objects and it is possible to perform additional operations in a chain. There is no need to iterate every object one by one.
– Small and clever core library. The jQuery core library is only about 24KB in size (Minified and Gzipped) so it can be easily included into your application and it`s very fast as well. That is due to the fact that a lot of fairly common functionality has been omitted from the jQuery core library, and relegated to the realm of the plugin. Also developers have even a smaller alternative: Sizzle. Sizzle library is 4 KB and it’s simplified just to be used for css selection.
– Great number of plug-ins. The reason of why there are so much jQuery plugins is that jQuery is designed to be pluggable. By including only a core set of features while providing a framework for extending the library, jQuery team made it easy to create plugins that can be reused in all jQuery projects as well as can be shared with other developers.
– CSS3 Selectors Compliant: jQuery fully supports the CSS3 selector specification.
– jQuery UI. jQuery User Interface separates out higher-level constructs and is packaged into a neat library that sits on top of jQuery. UI capabilities might not be stronger than some other libraries such as ExtJs but it’s getting better.
Hope these facts will be of use to you. Of course, the things I listed here might not include all the good points about jQuery and you may add your own points to the list 🙂
Thanks in advance!
Posted February 19, 2013on:
Ecommerce is a term used to denote a type of business where purchasing , selling and exchanging goods and services is conducted over electronic systems such as Internet and other computer networks. Since 1991, the year when the Internet became open for commercial use, it has become possible for customers to electronically exchange goods and services with no barriers of time or distance and e-commerce has started to develop.
If you would like to implement an ecommerce website it can be useful to take a look at the following list of open source ecommerce CMS which can help you to select the appropriate ecommerce platform for your project/s.
In my article I’ve tried to perform some investigation and identify what are the advantages and disadvantages of these CMSs. So let’s have a closer look at the list J:
1) Magento takes the first place. The coding is based on the latest PHP 5 object oriented coding standards and Zend framework. Without doubt, the platform is a huge success thanks to its feature-rich administration panel, huge flexibility over the design, layout, control and feel and other qualities allow to handle large inventories, more complex functionality, big number of in-built features and themes and exceptional technical support. Also I`d like to draw your attention to the fact that Varian, the company that backs the cart is very active in updating the code and fixing bugs. All these factors make Magento a truly established leader in ecommerce software that powers some of the most innovative ecommerce stores online. But as you know , there is always a fly in the ointment and this CMS has a couple of disadvantages: it requires a good high end server; has heavily layered and overly complicated coding style; requires a lot of time to learn and do customizations; it`s fairly slow. However all these disadvantages do not prevent Magento of being on the first place in our list.
2) X-Cart. It is one of the most competitively priced and easy to modify e-commerce platforms. X-Cart is commercially supported and has very few bugs (I doubt if there are any indeed), it uses smarty templates system which many programmers like to work with for laying out the web site. Unfortunately the solution has licensing fees for system and some add-on modules and the price can be really high. However the core open source platform can be downloaded for free (either X-Cart Gold or X-Cart Pro).
3) Zen Cart – I may call – the art of e-commerce. Free, user-friendly e-commerce software. The ecommerce web site design program was created by a group of like-minded shop owners, who believed that the projects and design eCommerce-sites could and should be different. Zen Cart has a very nice wide array of features based on Oscommerce but has gone its own path. It has no licensing fees, it is stable, has many Oscommerce contributions already installed, and all these factors certainly please the audience. Still sometimes it`s not possible to use Oscommerce contributions, because they must be converted to Zen Cart, and the admin interface may seem a little messy in certain areas because of contributions installed.
4) OpenCart is an open source PHP-based online shopping cart system. The CMS offers an ‘out of the box’ solution with minimal manual intervention and configuration. OpenCart is an excellent choice for anyone looking to get started with selling online quickly and easily, with a wide array of extensions, both free and paid too, there is plenty of opportunity to customise your store cost effectively to suit your business needs. Their own website is clean, easy to navigate, clear and concise – plus easy to find support, tips or anything else you might be looking for. And as such, you can find similar practice deployed into their ecommerce software.
6) osCommerce – a solution for creating an online store. It is free under the GNU General Public License . The product includes a lot of opportunities “in the box” (has the most available number of contributions and modifications, recent security update brings osCommerce up to date with MySQL 5 and PHP 5), allowing the owners of online stores to install, configure and maintain the service with a minimum of effort for free and without restrictions. Still it can take a lot of time and money to install all the contributions the customer wants (add-ons), and there is no graphic template system that means it is harder to modify the design.
7) Nopcommerce. Nopcommerce is a relatively new script online store and it is ASP.Net solution . I may tell you in confidence J that one of our recent projects was connected with this CMS: we`ve transferred the e-shop to Nopcommerce CMS with the possibility for synchronization of data from the web service (here you may find the description of the project). During the project implementation we noticed such advantages of the system as ease of deployment, integration of live chat, text messages on sales and contacts. Still a couple of little disadvantages were taken into consideration too: Microsoft licensing is required, the platform has some bugs needed to be fixed and support is rather weak.
Hope it will be of interest and helpful to you, in case your experience shows another picture and you have anything to add, I will be happy to read about your comments. 🙂
Some people will argue that it’s not worthy comparing Tomcat and JBoss, because one of them is a superset of the other. In fact JBoss is bundled with a forked version of Tomcat. So JBoss is Tomcat plus:
* JMS messaging provider
* Web Services engine (JAX-WS and/or JAX-RS)
* Management capabilities like JMX and a scripted administration interface
* A powerful data grid solution (Infinispan)
* Advanced security, e.g. out-of-the-box integration with 3rd party directories
* A dynamic and powerful clustering engine
* Transaction management service
Still many decision makers have to choose between these two, so lets’ take a deeper look at them.
The JBoss AS is an application server based on Java. It is an open source server and is usable in any operating system supported by Java.
Apache Tomcat, or its more widely known name Tomcat, is a servlet container (meaning it is a Java class that operates under the strictures of the Java Servlet API – a protocol by which a Java class responds to an http request). This is an open source server, providing a ‘pure Java’ HTTP web server environment in which code written in Java is capable of running.
Tomcat is only a servlet engine and JBoss offers many more functionalities out of the box. Still JBoss is no longer a heavyweight monolithic container, but a modular application server featuring true classloading isolation, modules loaded on demand, domain management and exceptionally lightweight container. It has a pluggable architecture and if required, you can unplug features from JBoss to make it essentially a Tomcat servlet container.
At the same time the plus going in favour of Tomcat is that it is fairly lightweight, and it means less memory requirement and a faster response. At the same time if you need certain JEE features beyond the Servlet API, you can easily enhance Tomcat. For example, if you need JPA features you can include Hibernate or OpenEJB and JPA works nearly out of the box.
Tomcat is hassle free and might be the right choice when you are not using much of Java features. It is a very good fit if it comes to web centric, user facing applications.
In case backend integration comes into play, a JEE application server should be considered. Last but not least, migrating a WAR developed for Tomcat to JBoss should be a 1 day exercise.
Some people still argue that instead of using application servers, one can still deliver a full stack application using Tomcat + Spring adding the right frameworks and writing the Spring integration layer with these frameworks. That’s for sure true. Still the logical question is what price you will have to pay for that. The JBoss project can be focused around average – to junior developers. Mastering the same complex stack of technologies with Tomcat and Spring requires skilled and well paid developers.
To make it short, Tomcat is merely an HTTP server and Java servlet container. JBoss is a full-blown JEE application servers, including an EJB container and all the other features of that stack. On the other hand, Tomcat has a lighter memory footprint (~60-70 MB), while JBoss weigh in at hundreds of megs. Tomcat is very popular for simple web applications, or applications using frameworks such as Spring that do not require a full JEE server. Administration of a Tomcat server is arguably easier, as there are fewer moving parts.
However, for applications that do require a full JEE stack (or at least more pieces that could easily be bolted-on to Tomcat) JBoss is one of the most popular open source offerings. JBoss has a larger and deeper user community, and a more mature codebase.
So, we should not really care anymore about which is better, but focus on the application requirements. However, you can still use the best of these two worlds in your enterprise applications.
It would be great if your could share your opinions on this topic 🙂 Thanks in advance for your comments!
The other day my colleague was providing an Open-source .Net CMSs overview . In this article I’d like to discuss one of the most popular and long-playing of them-Umbraco CMS.
Umbraco is a non-specialized content management system platform for creating web-solutions of scenarios ranging from simple to incredibly complex. Niels Hartvig, a Danish programmer, was the man who started developing Umbraco. Since it was released as open source software in 2004, its development is continued by Niels Hartvig’s team as well as by a wide developers community.
Umbraco is developed on ASP.NET platform, which is popular among professional programmers and is one of the most frequently used in the Internet along with JSP and PHP.
Umbraco and DotNetNuke are the most well-known ASP.NET CMSs. At the official Umbraco site it is said that the CMS currently powers more than 85.000 websites worldwide. In fact, it is much more than that. To finally convince you that Umbraco is a rather serious thing, it is appropriate to mention some large projects using it – Peugeot.com, Heinz.com, Wired.co.uk, Hasselblad.com, sandisk.com, Denmark MSDN Community.
Unlike many other CMSs, Umbraco is not a turnkey program solution right after installation – it’s impossible to start editing site content without preliminary actions. At the same time it provides developers with an easy and convenient environment, allowing them to create a site that would meet specific requirements.
1. Right after installing Umbraco you get a fully featured environment for storing and editing any data. Need to store content of the articles, information about employees, friends, companies, photo albums etc.?-no problem! You don’t have to study principles of work with databases, HTML or programming languages to do this. Type of documents is created with the aid of visual means, as well as fields belonging to it; places for these data on the site are also determined. Afterwards, documents content is added in the section of content editing. If needed in the future, it is possible to change required data fields as one pleases: f.ex. you can add a new field for contact information to the card of an employee.
2. Extension by standard tools – a developer doesn’t have to study some special language. One can use a favorite HTML editor – Visual Studio or Dreamweaver. All development is lead with standard ASP.NET means: master-page, HTML, ASP.NET controls. Plus there are add-ons on the basis of XSLT or Razor technologies.
3. Full control of the site appearance – such notions as themes and skins, that to a much extent limit web-developers possibilities, are not basic here. Everything a developer can do with ASP.NET master-pages tools, HTML, CSS is available in Umbraco development.
4. A convenient environment for filling a site with content is prepared for end-users. For formatted content one of the best editors TinyMCE is used. It has been improved for choosing and pasting media files. Users work with various data on the site in a common style, whether it is a photo gallery or company’s clients list. Therefore, it doesn’t cause much trouble for the users to learn the administrative part.
5. A very quick development of the sections that require only viewing information; API to organize various types of feedback.
6. A great amount of accessible extensions at the official support site. The CMS is quite popular, so the community is pretty large. That is why it is quite possible that there is already an answer to all your questions or a ready extension module has been already developed.
7. Splendid possibilities for code reuse. Once created a macros or a control can be easily applied in different places of the ongoing project or any other one.
8. Multilanguage support: terms dictionary, translation of the content 1 to 1 or an independent language site sections. There is a special functionality for translators in the administrative part.
1. It’s quite challenging to use the system right after installing. Umbraco is intended for developers and requires customization for a specific project before users are to see the site pages and to perform content editing. However, while installing one can choose a starter package that installs an appropriate initial structure for a blog, a personal or a news site. But still, customization is necessary.
2. A programmer, who is not familiar with the CMS, will not be able to start developing a site straightway, having to spend his time on studying the system and its possibilities.
3. The standard release of Umbraco requires full trust mode with extended rights for site work. Not all the hosting services permit it.
4. Site content support in XML may cause some complications with productivity on very big sites (several thousand nodes). In this case it is recommended to remember about page caching, macros output. Also, if there is a big amount of data, it is advised to store the records in the databases tables exclusively, not in Umbraco node-documents.
These are all advantages and disadvantages of using Umbraco we have experienced so far. You are welcome to add your own points to the list.
As usual, I’d be glad to see your comments, thoughts, sharing of experience, impressions and everything related to it right under the article 🙂
Business Development Manager
Professional Software Development