Magento 2 is...
...an ecommerce platform (and product) from Adobe (who acquired Magento Inc. in 2018).
It's strengths lie in its open source nature and flexibility to extend / customise with almost no limitation on what be achieved (other than time and budget!)
It also comes with a vast array of functionality 'out of the box' and is further supported by a strong network of extension (also referred to as 'modules') providers as well as many open source offerings provided by the thriving developer community.
The Usual Suspects
Like most ecommerce platforms Magento 2 offers the key 'shopping cart' features:
- Catalog(ue): products and categories (collections of products)
- Cart and Checkout (with many inbuilt shipping and payment solutions)
- Customer account registration and management
- Administration panel allowing management of key store details, the catalog(ue), basic order fulfilment, marketing and promotional tools, reports and more
The Small But Mighty
However it's the breadth of other smaller (and not so small) additional features that Magento includes 'out of the box' that makes it unique (though perhaps not so much in recent years due to growth of other platforms). This includes features such as:
- A wide range of complex product types: configurable (variations, e.g. clothing in varying sizes / colours), grouped (simple sets), bundle (complex build your own products) and downloadable (e.g. files)
- Support for unlimited product attributes which can be managed within differing groups and sets
- Powerful layered navigation (product filtering)
- Support for complex pricing (sale prices, tiered and per customer group pricing)
- Highly flexible tax (VAT) configuration and support for multiple currencies
- Promotions, including coupon codes, configurable based on a wide array of rules
- A robust API layer for integrations with other systems and building 'headless' storefronts (such as PWAs)
- Stock inventory management, including managing and aggregating from multiple sources (warehouses)
- Product image gallery with video support
- Product relations, wish lists (saved items), comparison tool and customer reviews
- Content management of pages, blocks (reusable content areas) and widgets that can be placed almost anywhere on the storefront
- Newsletter signup
- A wide range of SEO tools including URL rewrites (SEO friendly URLs), search terms, analytics and more
- Multiple address checkout
- The ability to part invoice (pay), ship and refund orders
- Catalog(ue) and customer import and export tools
- Inbuilt caching and indexing mechanisms to help speed up storefront performance
- Finely grained admin user roles and permissions management
- A range of inbuilt security tools
The Show Stopper: Multi-store
The key or 'killer' feature that generally still sets Magento apart from the competition (though it is 'catching up') is the ability to run true 'multi-store' setups, from simple variations of the same site to offer language changes and different currencies through to running to completely different branded websites all from the same Magento 2 'instance' (codebase).
Every single part of Magento 2 has been built with the above in mind from the ability to configurable nearly any aspect of storefronts discreetly to allowing developers to provide create custom themes per storefront and ensure all text output is easily translatable between them.
Magento Open Source Edition
Formerly known as 'Community Edition', this is the free and most widely used of the Magento 2 editions and the one we'll be focusing on throughout the majority of quests here on MageQuest.
Formerly known as 'Enterprise Edition', this is the paid for version of Magento 2 and only available to merchants with a licence or solution and technology partners.
It contains many more features not available in Open Source as well as a support service from Magento.
Magento Commerce Cloud
Formerly known as 'Enterprise Cloud Edition', this is an identical product offering as Magento Commerce, except it is bundled with Magento's own managed AWS hosting offering.
Magento Commerce For B2B
B2B stands for Business To Business and as its name suggests offers a further set of functionality aimed at merchants that sell directly to other businesses, rather than to end consumers.
Whilst it is marketed as a separate 'edition' it is actually just a further add-on to Magento Commerce (or Commerce Cloud).
Languages & Frameworks
Whilst the primary language of the Magento codebase is PHP, there are many other languages and frameworks that are utilised:
- Zend Framework
- Symfony Components
- jQuery / jQuery UI
Persistent Storage (Database)
- MySQL (or MariaDB / Percona)
- Varnish (for full page cache only)
bin/magentoCLI (Command Line Interface)