Merhabalar,
        
Recep Kırmızı'nin linkini verdiği mini-Erp'yi yazan kişi olarak, yardımcı olmak adına kendi düşüncelerimi yazmak isterim.

1.
Programı yazdığım şirket, benden böyle bir talepte bulunduklarında onları SAP, OpenERP vb alternatiflerine yönlendirmiştim. Fakat kendi çalıştıkları sektör biraz özel bir iş alanı olduğundan, piyasadaki programların ya ihtiyaçları karşılamadığından ya da çok fazla özelleştirme gerektirdiği için zaman ve fiyatta onlar için pahalıya geldiğinden bahsettiler.

Zira sonraki zamanlarda benden çeşitli yazılım yazmamı isteyenler olmuştu, mesela Teknik Servis takip programı gibi. Ben ise bu tarz isteklerde, eğer piyasada iyi-kötü bir alternatifi varsa yazmayacağımı söyleyip hazır bir program kullanmalarını söylüyorum.

Çünkü halihazırda olan programlar ve modüller (ör: Proje yönetimi, İK, muhasebe vs), yılların tecrübesine sahip olduğu için, amerikayı baştan keşfetmek çok anlamsız, gereksiz zaman kaybı vs vs.. Ama eğer piyasada alternatifi olmayan bir program geliştirecekseniz, o zaman kolay gelsin.

2.
ERP'yi isteyen ve ilk yazdığım şirket daha önce Excel ve Access'lerle işini hallediyordu. Daha önce bir ticari program kullanmamışlardı. Yazdığım Erp'nin ilk modüllerini kullanmaya başlamalarıyla birlikte, çalışma şekilleri eski tarzdan yeni tarza doğru "değişti". Bir modülün yazılması 1-2 ay ise (toplantılarla beraber), entegrasyonu, alışma ve geçiş süreci 1 yılı buldu. Projenin github'daki deposuna bakarsanız ilk commit 2.5 yıl önceydi.

Not: Bazı ticari ve şirkete özel modülleri plugin haline getirip başka depoda tutuyorum. Kalanı, depoda gördüğünüz gibi LGPL.

3.
Ben symfony1'i yeni öğrenmişken programı yazmaya başlamıştım ama bu entegrasyon sürecinin uzamasından dolayı arada symfony1 zaman aşımına uğradı, symfony2 çıktı, nodejs popüler oldu vs.. O yüzden de planlama yaparken uzun vadeli planlamakta fayda var. Ben symfony1'in özelliklerini olabildiğince kullandığım için (iyi plugin yapısı, doctrine, php5.5 upgrade vs) çok bir sorunla karşılaşmadım. Yine de baştan yazsam symfony2 veya node ile yazardım.

* * *

Asıl sorunuza gelince:

Symfony, iş uygulaması geliştirmekte gerçekten harika. Amatör bir NodeJs aşığı olmasam, her türlü iş uygulamasını Symfony ile yazardım.

Bence kompleks bir iş uygulaması geliştirmek için şu kriterleri göz önünde tutmalısınız: - Platform bağımsızlığı, açık kaynak, topluluk desteği (standart kriterler)
- Sağlam bir MVC veya türevi yapısında olması
- Çok çok iyi bir ORM (hatta çok çok çok çok)
- Yine çok iyi bir form, filtre, validasyon vb desteği
- Caching, Security, Factory gibi ek destekler
- Sağlam unit-testing bilgisi ve desteği
- Task/komut satırı desteği
- Ve olmazsa olmaz, iyi bir migration/sürüm güncelleme desteği.

Bu kriterlere iyi uyduğunu bildiğim Symfony2 ve Django var.
( Django'nun henüz yeterince iyi bir ORM'si yok diye biliyorum. Ama bu konuda Recep Kırmızı daha iyi bilgi verebilir :) )




On Sal, Haz 17, 2014 at 5:13 ÖS, Yunus Oksuz <yunusok...@gmail.com> wrote:
Benim bu iki tercih arasında (ikisinide kullanmış biri olarak) oyum
symfony2'ye olurdu.

+ Symfony2'nin kendine ait bir konsol uygulaması var, web üzerinde
işler yapacağımıza göre bizim için en önemli kriterlerden biri elbette
formlar, konsoldan modeller olusturabilir, bu modelleri baz alarak
otomatik formlari, formların actionlarini ve beraberinde
validasyonlarını olusturabilirsiniz (tek satır kod yazmadan).

+ Çok fazla bundle'a sahip olması ( http://knpbundles.com/ )

+ Action ve modellerde annotation (yanlış duymadınız), xml, yaml
kullanma özgürlüğü

+ Dependency Injection

+ HMVC ( her modulunuz aslında bir bundle dış dünya ile alakası yok
tek ilgilendigi nesne app container )

+ önyüzde twig başarılı bir template engine

- Öğrenme süreci biraz sıkıntılı olabilir, çünkü herşey javadaki gibi bir nesne.

Bana kalsa symfony2 ve laravel'i karşılaştırmam bu iki framework'ün
segmentleri farklı çünkü (en azından bana göre)

daha detaylı karşılaştırma şurada var,

http://vschart.com/compare/laravel/vs/symfony
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Attachment: remmina.desktop
Description: application/desktop

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap