Magento İzlenimlerim

magento 2013-2014 

Magento 1

ve 2017-2018  yıllarında   Magento 1  ve

Magento 2   sürümü ile  kullandığım eticaret frameworküydü fakat zamanla bu framework’de bazı şeyler çok hoşuma gitti, bazı şeylerden nefret ettim.

image

Hoşuma gidenler

Bir eticaret framework ü olarak ücretsiz ve büyük sistemler için kullanılabilir çok kapsamlı bir fw, ama woocommerce gibi lightweight değildir iyi bir CPU ve Ram ister.

Mükemmel bir mimarisi vardır, php,composer ve diğer frameworkleri katmanlamıştır,  veritabanı mimarisi EAV olduğu için alışana kadar anlamakta zorluk çekebilirsiniz. 

E-ticarete yeni girdiyseniz ve büyük bir sistem düşünüyorsanız hemen başlangıç yapabilirsiniz, Uyarı büyük ölçekte ürününüz yoksa woocommerce ile başlamanızı tavsiye ederim daha az maliyetli olacaktır.

Programcıya verdikleri sınıf ve api lerde eticaret ile ilgili aklınıza gelebilecek herşeyi düşünmüşler mutlaka çoğu olayın Observer patterni var ve işinizi çok kolaylaştırıyor kendinizde Observer pattern eklebiliyorsunuz. 

Çok fazla harici eklentisi var uygun fiyatlara internette bulabilirsiniz.

Temaları çok uygun fiyata ve kaliteli olarak themeforest da satılıyor.  

Hoşuma Gitmeyenler ve artık nefret etme sebeblerim 

Burayı sadece yazılımcı gözünden anlatacağım.

Yukarıda dediğim gibi mimari mükemmel ama çok katmanlı mimari olduğu için hata çıkması durumunda çok fazla gezinmek zorunda kalıyorsunuz. Neden bu kadar fazla fw yi depency yaptıkları konusundaki düşüncem ise kullanmak istediği bir fonksiyonu yada sınıfı mesela symfony paketinde bulmuş hemen eklemişler kendilerine uygun şekilde yazmaktansa nasıl olsa symfony yazıyor demişler.

Kendi modülünüzü yapmak için ve yüzde %80 herşey de magento ya bağımlı kalmak çok sıkıcı ama eklenti geliştirme için verdiği api ve arayüz başarılıdır.

Frontend tarafı bence tam baş belası inspector araçı gibi bişey vardı onunla hangi html nerede onları gösteriyordu orası çok hayat kurtaran özellik ama frontend bence çok zaman alan çok uğraştıran bir olay kodlama bilgisi olamayan frontend ci bile çok fazla kodlama öğrenmek zorunda kalabilir, klasör yapılarını zaten bilmek zorunda kalacaksınız.

Öyle durumlar oluyor ki php ve html kodları içiçe olduğundan  javascipt de iş yapmakla bitmiyor php de onu kodlamak return etmek gerekiyor backend ve frontend olarak çalışanlar için tam sıkıntılı bir olay, aslında magento için fullstack yazılımcı olmak şart oluyor.

magento 2 artık jquery ve knockout kullanıyor ama magento 1 prototype.js bağımlıydı mesela  ürün variant ekleme sırasında prototype.js ye  depency eklemek 1 haftadan fazla zamanımı almıştı.

Backend tarafı Magento 1 php nin en zor fw si olan zendi kullanıyordu magento 2 de daha fazla depency geldi yani daha fazla bilgi istiyor.

Kendi içindeki cache sistemini açmazsanız çok çok yavaş o kadar çok katman olduğu çin input/output sayısı çok fazla php nin yorumlaması çok uzun zaman alıyor. Birde javascript bağımlılıklarını da unutmamak gerekiyor.

Debug yaparken insanı kanser ediyor bu süreler “android de debug yap kazancın harcadığın zamana değer 🙂 “

Magento ile çalışan şirketler olaya profesyonel olarak bakmıyor herşeyi hazır sistem,  arayuzü düzenle biter diyor ama çoğu zaman modul/eklenti geliştiriyorsun bu modülleri robot yazmıyor ki arkadaş sen zamanını, deneyimini  satarak para kazanıyorsun. Magento ile uğraşmak yerine java-c# ile falan uğraşın çok çok daha tatmin eder ve iyi maaşlar alırsınız.

Ve son olarak herkes öyle mi bilmiyorum ama böyle bir sistemle bu kadar karmaşa ile uğraşıp gerçekten hakkettiğiniz maaşı veren hiç bir şirket yok, zaten uğraşan şirkette az yazılımcıda az,  siz siz olun sakın profesyonel olarak magento yazılımcısı olmayın.

Magento günün sonunda sizi tatmin etmiyor, yazılımcılık yapmıyorsunuz aslında herşeyin hazırını yapıyorsunuz.

Ben 3 yıldır go ve c# yazıyorum iyi ki artık php ve frameworkleri ile ilgilenmiyorum diyorum ama php de tek sevdiğim şey wordpress kaldı,  WP de bazen eşe dosta eklenti yazarım, WP biraz eğlenceli geliyor çünkü herşey daha terli toplu duruyor.