A Büyük Açık Kaynak Projesi için Özel Çerçeve Abandoning Üzerine Düşünceler

5 Cevap php

Biz birkaç yıl önce burada geliştirilen ve daha geniş ve toplum destekli bir şey taşımak bir özel çerçeve terk hakkında son zamanlarda bizim ofis etrafında ileri geri bir sürü sürdürmekteyiz.

Bizim şu anki çözüm biz gevşek ve yıllar boyunca onunla siteler inşa etmişlerdir geliştiriciler böylece sitelerin bir sürü biz yönetmek, bu özgürlüğe almak olduğunu demek gerekir ve esnek tarafından, çok esnek sadece şeyler eklemek için inşa edildi ve hiç bir standartta inşa değil. İşte ofiste ben biraz çerçevesini kullanmak ama diğer araçları kullanmayı tercih eder. Bu yüzden ağır önyargılı ve i may kişilerden tavsiye almak için buraya soruyorum neden olduğunu yılda ben Kod Ateşleyici gelen CakePHP'de kadar PHP çerçeveler çok kullanılan ve tüm benim kişisel projeler için Zend Framework büyük bir hayranı olmuştur Bana bir daha objektif görüş vermek mümkün olacak. Ofiste bir sürü iş bazı insanlar onu terk tereddüt olabilir neden bu kadar anlayabiliyorum bizim çerçeve üzerinde yapılmıştır ama görüyorum yolu şudur:

  • Onları bulmak gibi şu anda bizim çerçeve güncel tutmak ve böcek için tekrar tekrar kontrol çok fazla zaman harcamak yok, biz onları düzeltmek. Which we should be doing
  • Bizim çerçeveyi geliştirmek için yapılacak herhangi bir çalışma doğrudan havai sütuna konur
  • Biz satmak abonelik tabanlı ve kapalı kaynak bizim çerçeve üstüne inşa edilmiş bir uygulama var ve ben tahrik popüler bir topluluk gerektiren veya bunları teşvik edecek çerçevesini kullanarak daha iyi bir standart inşa daha iyi olabilir hissediyorum.

Bunu ben soruyorum ne benzer ama çok oldu, http://stackoverflow.com/questions/279003/why-do-i-need-to-use-a-popular-framework, bu konuyu araştırdım ve buldum. Ne ben soruyorum üzerinde görüşleridir Eğer bir şey ya biz geçmek için seçerseniz, diğer, ben gerçekten bir çerçeve daha iyi olduğu hakkında bir konuşma başlatmak istemiyorsanız, bizim için bir sonraki adım olacak yapacağını neden olarak.

İşte ben uzun vadede bize yardımcı olarak desteklenen, açık kaynak çerçevesinde geçiş görmek nedenlerden bazıları şunlardır:

  • PHP yeni sürümlerini koyar gibi çerçevenin çekirdek bize iş yapmak zorunda kalmadan şeylerden yararlanmak için güncellenecektir.
  • Kütüphaneleri ile güvenlik kaygıları toplum tarafından bulunan ve güncel sürümü ile bizim kod tabanı güncelleme dışında bizim katılımı olmadan yamalı olacaktır.
  • Referans olarak kullanılabilecek internet ve exisitng kodu ile ilgili bilgi Lots
  • Yerine insanları işe alma ve onları bizim tescilli birini kullanmayı öğrenmek zorunda bekliyordum zaten çerçevesini biliyorum dışında programcılar, işe yeteneği.
  • Yamalar, eklentileri, yardımcıları ve destek yoluyla topluma geri vermek yeteneği.

İşte ben ile geldi negatifleri vardır:

  • Biz noktasına biz yeni sisteme bizim özel uygulama tüm varolan kodu olacak
  • Çalışanlarımız yeni bir çerçeve öğrenmek için zaman belirli bir miktarda izin gerekecektir ve ins ve çıkışları bulunuyor
  • Mevcut çerçeve bize istediğimiz kadar hiç şeyler inşa etmek ve bu takip ve itaat edin ve bazı geliştiriciler nefret gibi sözleşmeler, gerek bizim geliştiricileri tutmak sağlayan çok esnek ve gevşek. Ben şahsen kuralları gibi

Yine ben önyargılı olduğumu muhtemelen açıktır ve bu ben burada soruyorum nedeni, herkes söylemek olabilir ne açık fikirli değilim.

5 Cevap

Benim şirket durumun aynı tür olduğunu. Biz yeni özellikler geliştirme ve açık kaynak çerçeveler yapmak gibi hatalar tespit ödenen oldukça fazla ilgi almak gibi görünüyor asla Perl bir özel geliştirilmiş bir çerçeve var. Ben ve çoğu diğer geliştiricilerin size söz yararları için bir şey açık kaynak geçmek isterdim, ama kimse üzerinde kod taşıma vakit geçirmek için bütçeye sahiptir. Mevcut plan herhangi bir küçük, yeni projeler gelip varsa açık kaynak kodlu bir çerçeve kullanmak olduğunu ve başarılı ise eski uygulamalar üzerinde hareket düşünün.

Ben çoğunlukla Perl ve Ruby ile çalıştık, ama bu gün daha görüyorum bir eğilim Eğer maç çerçeve çekirdek bileşenlerini karıştırmak ve izin çerçeveler olduğunu. Örneğin, Catalyst içine bizim özel çerçeve parçaları entegre düşünüyoruz. Bu şekilde biz hala bizim özel geliştirilmiş kod bileşenleri (kendi DBI sınıf ve bazı Mason şablonlar) bazı kullanabilirsiniz ve uygulamaları taşımak kadar zor olmayacaktır. Ruby on Rails da daha fazla modüler olma yönünde hareket etmektedir.

Belki size bazı kod kullanmak, ya da en azından daha kolay yerine sıfırdan başlayarak çerçevesinde içine kod bazı kerata yapmak için izin verebilir bir PHP çerçeve var. Ben modüler iddia PHP çerçeveler en çok görmek, ama bazıları sadece temel bileşenleri takas, sen eklentileri geliştirmek için değil izin görünür Googling.

Bazı iyi analiz yapıyorlar ve ben aramanızda size şans diliyorum benziyor.

Tüm yanlısı uzun vadeli ve tüm Con kısa vadeli kalkınma ağrıları, çünkü soru, gerçekten şeytani önyargılı. Durum sizin kadar tarif bile yarısı ise :) Ama, anahtarlama doğru şey ve uzun vadede çok para kazandıracak.

Burada vurgulanan en önemli noktalarını düşünüyorum. Karar artık, numaraları, dayalı olmalıdır. Teknik olarak analiz mükemmel. Ne ben şimdi sormak istiyorum: bu kadar, sizin şirket için mal olacağını ne kadar:

* keep your app to take advantage of new php improvements without break your old code (it means: architecture analysis, development and test, test, test).

* Do you have any developer/analyst focused in security development? (it means: security development life cycle, test, test, test).

* Do you have a development methodology? Normally those frameworks are kept under a good distributed development methodology.

Ben bazen önce senden daha aynı soru vardı, ve benim şirket, bir çerçeve seçmek bizim kod göç, çerçeve üzerinde çalışmak için haftada 1 gün 2 geliştiriciler ayırmaya karar verdi. Biz toplumu (:-) demagoji) yardımcı oldu ve biz çerçeve yol haritası özellikleri bazı iş gereksinimlerini ekleyebilirsiniz, çerçevesi hakkında daha öğrendim, çünkü çerçeve geliştirme ekibi ile çalışmak için ekibimiz koymak, iyi oldu ;-)

Ben ve ekibim Zend Framework üzerinde çalışır genelinde varolan bir uygulama geliştirmenin tamamlanması yaklaşıyor ve oldukça iyi gitti.

Eski uygulama düzeltmek ve biz dalma almak ve ZF onu yeniden karar için büyük sorunlar olmaya gittiğini konularda bir sürü vardı.

Ancak noktasına uzun bir zaman aldı, ben bizim uygulama için genelinde port her şeyi (biz sistemin veritabanı ve diğer alanlarda rejigg için fırsat almış) bize dev bir iyi bir 4-5 ay aldı tahmin ediyorum.

Bunun için gitmek yaparsanız o zaman gelir getirici iş üzerinde çalışan daha ziyade taşıma zaman iyi bir yığın harcamak gerekir neden patronlarına açıklamak için hazırlıklı olun. Hepimiz bu işi yürüten ivme olarak yeni bir proje kullanabilmek için şanslıyız.

Ben üzerinden geçiş eksilerini bir çift görüyorum.

İlk olarak, tabii ki, var:

We will have to port all the existing code we have in our custom application to the new system

Arkasından:

We will have to port all the existing code we have in our custom application to the new system

ve son, ama en az değil:

We will have to port all the existing code we have in our custom application to the new system

Sen "havai sütununda para" hakkında konuşuyorduk, ve yeni çalışma test koduna çalışan test kodu yeniden değer bir sürü eklemek değildir.

Eğer yeni bir marka, ilgisiz proje veya mevcut kod tabanı küçük kullanan biri için yeni bir çerçeve tanıtan bahsediyoruz, o zaman, tabii, kendinizi nakavt. Bu çerçeveler, platformlar, diller, vb geçmek için iyi bir fırsat

Ama mevcut bilgili millet ile varolan, nakliye, olgun kod tabanı üzerinde çalışıyor?

Yani şahsen, yutmak zor bir hap bulunuyor.

Eğer millet standartları ve kuralları takip etmek istiyorsanız, o zaman ... standartları ve kuralları takip edin. Eğer "ne istediklerini özgürlük" millet sağlayan bir sisteme sahip olduğundan, "aşağıdaki standartları ve kuralları" onlar yapmak istediğim bir şey yapmak.

O sadece geri dönmek için tekrar aynı şeyi yinelemek pencereden dışarı tüm bebek, Bathwater, sabun, lavabo ve havlu atmak aşamalı bir sistem geçiş için her zaman iyidir.

Herkes bunu yapmak istiyorum, kodu yeniden yazmak istiyor. Bizim çerçeve ihtiyacı burada "üzerinden yapmak". Ama sonra "evet, ama ..." gitmek ve sonunda ne alabilirim? N geri şimdi nerede almak için çaba Ay. O zaman konularda pazara bir dünyada pek yapmaz.