Biz yığını bir LAMP (php) için asp.net bir site taşıma ne tür zorluklarla karşılaştınız mı?

4 Cevap php

Biz paket ve müşteriler için serbest bırakmak istiyorum asp.net c # (3.5) ve SQL server yazılı bir kurumsal uygulama var.

Ancak, bazı endişelerini dile getirdiler nedeniyle maliyetleri o requires bir Microsoft sunucu söyledi. Evet, Bu nedenle, "P" php başvurarak, bir lamba yığını için taşıma düşünüyor ... biliyorum.

What challenges can we expect to face developing on a LAMP stack coming from a Visual Studio asp.net environment?

Ben konular emin vardır:

  1. Hata ayıklama: Visual Studio istemci ve sunucu tarafı hata ayıklama ikisi için harika.
  2. Çerçeve: modelin arkasında kod harika çalışıyor ve MVC framework güzel.
  3. Bakım: Biz her iki platformda ortak olarak ayarlanır özelliği istiyorum.
  4. Veritabanı katmanı: Kod gevşek mssql veri türleri bağlanmıştır.

Bu heyecan verici süreçte oldum, ben bazı öneriler / ipuçları ile nasıl olduğunu bilmek isterim.

As a side to this, is there any way for us to run this code as is? Mono? Others?

4 Cevap

Ben * AMP yığınlarının daha. NET ile daha fazla deneyime sahip, ama XAMPP ile benim deneyime dayalı, ben şu gözlemleri sunacak

  1. Hata ayıklama: Visual Studio istemci ve sunucu tarafı hata ayıklama ikisi için harika.

    Eclipse PDT tasarım, geliştirme ve hata ayıklama için harika çalışıyor. Ben Zend Studio hakkında iyi şeyler duydum ama onunla çalıştı değil.

  2. Çerçeve: modelin arkasında kod harika çalışıyor ve MVC framework güzel.

    Eğer mantığından tanıtımı ayırmak için izin vermek için çerçeveler vardır (örneğin, Smarty) ve en az bir MVC çerçevesi vardır (örneğin, CakePHP)

  3. Bakım: Biz her iki platformda ortak olarak ayarlanır özelliği istiyorum.

    Windows belirli işlevleri (Windows tümleşik güvenliği, vb) hariç tutarsanız kadar can't hem yığınlar yapmak olmamalıdır, ancak GRIDVIEW gibi kontrolleri çoğaltmak varsa emek yoğun olacaktır.

  4. Veritabanı katmanı: Kod gevşek mssql veri türleri bağlanmıştır.

    Mysql ve sql sunucusu arasındaki eşleştirilir olamaz herhangi bir veri türleri farkında değilim ve handling migrations için iyi bir dokümantasyon var

Mono portuna çözüm gerekli süreyi azaltabilir, ama "olduğu gibi" tüm kodu yeniden kullanabilirsiniz herhangi bir şekilde habersiz.

Eğer düşünebilirsiniz başka bir PHP IDE NetBeans olduğunu.

Bir nokta ya da başka bir. NET, Java, ve LAMBA geliştirici olarak, büyük değişim büyük ölçüde kültürel oldu. Örneğin, PHP ASP. NET başladı oysa tam OO desteği ile. NET dili olarak OO ilkelerini kullanarak değil bir mirası vardır. Bu temel fark, bu tür benzeri ayrılmış anahtar kelimeler ve PHP'nin uzun listeleri gibi önemli sorunlara yol açmaktadır.

Diğer MVC çerçeveler:

  • CodeIgniter
  • Kohana
  • Yii

(Sadece Yii öğrendim. Here's an article onları karşılaştırır.)

Orada muhtemelen orada bir yarım düzine daha, hem de.

i Asp.net arka plan üzerine kendimi var ve son birkaç ay boyunca açık kaynak çerçeveler araştırma olmuştur. Ben hala fikrimi yapılmış değil. Geçenlerde Grails bakarak oldum. Iki dünyanın en iyi gibi görünüyor - kullanmak için bir komut dosyası, kolay bir kurumsal platformda açık kaynak RAD MVC framework. Bu Groovy betik dili (yakut) gibi kullanır ama isterseniz tam Java çerçeve kullanabilirsiniz böylece JVM üzerinde çalışır. Orada girmeleri, önceden yazılmış bir java bileşenlerinin ton var. Bu şey oldukça serin. oldukça hızlı bir şekilde mevcut uygulama noktasına mümkün olurdu. Eğer olsa bir Tomcat host gerekir.

PHP gerekiyorsa, düz PHP oldukça iyi bir performans sergiliyor ancak çerçevelerin en zayıf performans vardır. Düz PHP ile giderseniz hiçbir mvc var. Sen, geleneksel sayfa tabanlı modeli kullanılarak olurdu. Ama evde daha fazla hissedeceksiniz. PDO ile kendi DAL rulo ve saklı yordamları kullanabilirsiniz. Eğer olsa bir çiftleşmiş sistemi gerekir. Uzakta o kendi çiftleşmiş dilini kullanan Smarty uzak durun. Bu yavaş ve neden bir seprate çiftleşmiş dil öğrenmek gerekiyor. Ben o asla var. Bunun yerine Savant kullanın: http://phpsavant.com/. Bu şablon dil için php kullanır ve hızlı. Her site sayfası için bir şablon sayfası oluşturarak da bu ile kod arkasında karıştırılabilir. Bildiğim kadarıyla php çerçeveler için orada en iyi performansa sahip olduğunu iddia ediyor (http://www.yiiframework.com/) Yii adında yeni bir PHP çerçeve var mvc gibi. Bu iyi de belgelenmiştir. Eğer. Net geliyorlar eğer muhtemelen orada en iyi php çerçevesi bulunuyor. Enterprisey Zend gibi ama kötü performans olmadan hissediyor. Başkalarının en çok oyuncak-ish Senfoni ve Kek gibi gerçekten yavaş ya da vardır. Php Apache ile harika çalışıyor. Değil Rails ve Django aksine ayarlama veya bakım bir sürü.

Sonra bir IDE gerekir. NetBeans ile gidin. PHP sürümünü kullanın ve yükleyin http://www.xdebug.org/. VS aşağı hissediyorum ama kötü değil olacaktır.

DB için, MySql seksi pick ama Postregs üstündür. O herşeyi hallediyor tek db motoru vardır. MySQL ile, istediğiniz bazı özellikler InnoDB ve bazı myisam vardır. Yabancı anahtarları ve işlemleri gerekiyorsa InnoDB kullanmak zorunda. Tam metin arama ve daha hızlı okuma performansı için myisam kullanın. Postgres performansı büyük ölçüde sürüm 8 sürümü (Şimdi mysql ile aynı) ile imnproved ve nihayet güzel bir pencere yükleyici sahiptir.