What Is Magento?

What Is Magento?

This introductory article for Magento is aimed at providing
essential information to newbie webmasters and web developers. It is part of a series of Envato Tuts+ introduction articles on different CMSs, in which we’ll explain the CMS from a beginner's point of view and examine why and how this particular CMS is a good
fit for your projects. You’ll see Joomla, Drupal, Prestashop and other CMSs
explained in some upcoming articles.

The scope of this particular article is to give you a brief and non-technical introduction to what Magento is, for what kind of projects Magento is a good fit, a quick and fast way to install Magento, how you can start your journey of learning Magento and exploring this great CMS in detail, and what are some good resources for finding Magento themes, extensions, etc. 
And lastly, if you think Magento isn’t a good fit for your web projects, what
are some of the other alternatives available in the market that you can
consider.

What Is Magento?

Magento, in short, is a robust eCommerce CMS. I think
explaining these three terms: ‘robust’, ‘eCommerce’, and ‘CMS’ would amply
explain to you what Magento is.

Starting with CMS, it is an acronym for Content Management
System. To understand what a Content Management System is, let me give you a
brief overview of its historical development, which will give you clear idea of
what it is and why it is used. When website development emerged, people used to create websites from scratch as per
clients’ requirements, building a font-end using HTML/CSS/JS etc, a
back-end in different back-end languages like PHP, .NET etc, setting up databases, and
configuring everything. 

But this approach had two problems. First, as clients
didn’t know any programming, every time they needed to edit their website or
add/modify content, they had to call the web company, and that used to cost
them money and time. The second problem was that it was a lot of work to create websites from scratch every
time. 

As a solution to the first problem, developers started developing some
user-friendly admin panels for their websites, where non-technical web managers
could easily add/modify content without messing around with the code. 

And for the second problem, they realized that most of the websites they developed had many things in common, so instead of creating websites from scratch, they could
develop some good starting points, which provided all the functionality, and
then users could modify them as per their needs. 

The combination of these two
solutions is a Content Management System. Now the concept is quite popular, and a constant struggle between different CMSs has made them over time more user-friendly and easy to install, and there are tons of extensions/plugins available, which can enhance your CMS’s functionality.

The second term, eCommerce, is sort of self-explanatory. It is
related to online shopping. So the reason Magento is different from other
non-eCommerce CMSs like WordPress, Drupal, Joomla, etc., is that unlike them, it
is a dedicated eCommerce CMS, whose prime purpose is to provide an online
store, where you can sell digital and physical products. And as it is exclusively an eCommerce CMS, it has far more eCommerce features than the eCommerce plugins of non-eCommerce CMSs.

There are tons of eCommerce CMSs around the web. Everyone
with some knowledge of web development can create their own, and here the third
term robust distinguishes Magento from them. Robust means something strong and
healthy. Unlike some other eCommerce CMSs that are badly written and full of bugs, Magento is
a vigorous CMS, which is quite sturdy in its construction, and has a strong
community backing it. 

Proof of its robustness is that it is
used by many large-scale eCommerce enterprises with millions of dollars in
revenues like Nordstrom, Adidas and North Face. In fact, Magento
Enterprise Edition can support more than 350 million catalog views and 487,000
orders per day.

Hopefully now you’ll fully realize what I mean when I
say Magento is a robust eCommerce CMS. That was a very long introduction to what
Magento is. Now let’s see for what kind of projects Magento is a good fit.

Who Is Magento Aimed At?

As explained above, Magento is a very robust and powerful CMS, and it's used by many popular and heavy-traffic online stores. That implies it is
definitely a good fit for large-scale eCommerce websites, but now the question
arises, is it a good fit for small-scale online stores? The answer to that
isn’t quite so simple.

Let’s admit, prior to Magento 2.0, Magento wasn’t very
user-friendly, and definitely not very easy to install. It isn’t that
installation requires lot of steps, it’s just that unless you have installed it
many times before, you are sure to come across different issues/errors while
installing it. The Magento admin panel also wasn’t very user-friendly and
intuitive. Another big issue with Magento was that it is a huge CMS with tons
of files, and that caused slow performance on web sites. 

Almost all of these
issues have been well-addressed in the release of version 2.0, but still it’s
not a CMS I would recommend for a five-item store, where you know you won’t be
expanding your store in future as well. However, if you plan on expanding your
online store in future, I would recommend starting with Magento, as it is a CMS
with proven performance to support large stores, and it’s definitely worth the
effort of installing it in the first place instead of switching to Magento at a
later stage, which is quite a hassle.

How Can I Install Magento?

As just said, Magento installation isn’t straightforward,
though it might look like it. So, instead of explaining all the Magento
installation procedures here with all the best practice advice and solutions to
the problems you might come across, I’ll leave all that to the extensively written Magento
installation guides
on the Magento website, as it has addressed all these
issues.

However, I’ll give you a bird’s-eye view of the steps of Magento
installation. It’ll give you a basic idea of the steps involved. To install
Magento, you need to go through these few steps:

  • Choose the Magento version you need to install: Magento 1 or Magento 2. The preferred choice for new Magento installs should be Magento 2.
  • Make sure your server has the right versions of PHP, MySQL and Apache to support Magento.
  • Upload the Magento files on your server, and run the installation wizard.
  • Optional: Install dummy data during installation, if needed.
  • Verify the install, and make sure the admin panel and front-end are working properly. 

How Can I Get Started Developing for Magento?

Let me give you this point blank: Magento is hard to learn. I
have worked with over a dozen CMSs during my web development career, and I
don’t want to sugar-coat this fact: Magento is the hardest to learn of the CMSs I’ve come
across. 

In Magento, if something goes wrong, you keep wondering whether it was because
you did something wrong in the totally counter-intuitive admin panel, or you messed
with some PHP or JS code, or maybe there was some problem with the XML files. 

There are so many files to look for and manage, some of them miles apart (in terms of
folder structure traversal time, thanks to its extremely deep folder structure),
and the official documentation in earlier versions was very poor, and there
was a complete lack of an official API. Many of these issues have improved over time,
but Magento is still not easy to grasp.

So, the question arises, is it worth the time to learn Magento,
when it is still difficult. Let me share my personal story on that. I used to
work on different CMSs like WordPress and Joomla, but then I came across Magento
for a project, and I found it obnoxiously difficult. But instead of running
away from it, I saw a good opportunity in it, as despite being the number one
eCommerce CMS in terms of performance, it had quite a shortage of developers.
So I started exploring it, and within months I started developing some grip over
it. 

I developed some Magento themes for Envato Market, and there wasn’t much
competition in that too (back then at least). I started writing about it and
got many freelance projects on Magento. All of that wouldn’t have been that
much easier if I was working in a highly competitive niche like WordPress. So Magento is hard, and it’s being hard that makes it great.

Its supposed to be Hard

Image Source: https://www.pinterest.com/pin/112378953175248482/

You might be thinking that what I just said might be true if you
opt for Magento learning as a career, but what if you just want to build one
website using it? Should you go through all the suffering of learning it? 

Well,
the good news is, you don’t need to. You really don’t need to understand what’s
going on ‘under the hood’, if you just want to make a website out of Magento.
All you need to do is install Magento on your server, find some good themes and
extensions for it from the resources I’ll mention next in this article, and
you’re pretty much all set! Then you’ll be just dealing with the admin panel, and
for that you don’t need any technical knowledge.

If you are just creating one project, go through the Magento
installation documentation (mentioned above), and explore some resources
to find good themes and extensions (I’ll mention some below), and if you come
across some issues, search for answers online. That’s all you would need.

However, if you are opting for it as a professional career, you
need much more than that. You need to develop a good grasp over PHP, MySQL, HTML,
CSS, JS, and XML. Then you need to develop some understanding of the PHP Zend
Framework, on which Magento is built. 

Once you do that, you have done some good
ground work, and now you can start learning Magento directly. For that, four main resources which I would recommend are:

Here at Envato Tuts+ we have gathered a good collection
of Magento articles over time, including articles on creating Magento extensions and
my 10-article extensive series on creating a Magento theme from scratch. Also,
I would very strongly recommend Milan Stojanov's video course on Magento development.

Where Can I Find Themes and Extensions for Magento?

When it comes to finding good quality Magento
themes and templates, your go-to resource should be Envato Market (ThemeForest).
It's the number one resource, with most high-quality themes there. I’ve been both a
seller and buyer of Magento themes from Envato Market, and I can vouch for
their high quality standards. 

However, if you are looking for free themes, you’ll
find some good ones on the Magento Connect site. The quality of
these themes isn’t very good, and support is totally absent, but it is a good fit if you are
just testing your store or have a small store to run.

For finding extensions, the only resource you need to know
is Magento Connect. You’ll find almost all your required extensions there. You
can check user reviews, screenshots, etc., to choose the right extension.
Some extensions are free, but for some you need to pay.

What Alternatives Are There?

Magento would not be a good fit for your store in two cases.
Firstly, if you are already using some other CMS for your non-eCommerce site (like
WordPress, Drupal etc), and you just want to add a small store to it to sell
some products. Secondly, if you only have a few products to sell, and don’t want to
complicate your life with some hi-fi eCommerce CMS.

For the first case, I would recommend finding good eCommerce
plugins for your CMS, instead of adding a stand-alone eCommerce CMS like
Magento. For WordPress, a good and popular eCommerce plugin is WooCommerce, and
for Drupal, DrupalCommerce is a really good eCommerce module.

For the second case, my suggestion would be to stick with an online eCommerce store that will manage everything for you and for which you only need
to pay few bucks a month, in lieu of all the headache of setting up and
managing a website. Some good online eCommerce store providers are Shopify and
BigCommerce.

I hope this article has given you a basic understanding
of what Magento is all about, whether you should consider it for your project, and whether learning Magento could be a good career choice for you or not. 

I’ve also
pointed out some resources where you can learn Magento and find
other Magento resources like themes and extensions. And lastly, I've looked at some
good alternatives to consider, if you don’t think Magento is a good match for
your project.

As you can see, Magento is a powerful eCommerce solution and it keeps getting stronger with each version. Whether or not you're just getting started or you're starting with the next version, don't forget to check out the extensions we have available for you, as well.

So are you interested in learning more about Magento? Stay
tuned for more Magento articles here on Envato Tuts+!

Source: Tuts Plus

About the Author