Lua PHP / Python / JSP / etc vs [kapalı]

8 Cevap php

Benim bir sonraki web geliştirme projesi başlamak üzereyim ve web geliştirme alanı içinde Lua yararları hakkında duymak istedim.

Nasıl Lua web geliştirme için .. PHP / Python / JSP / etc farkı nedir?

Lua diğerleri vs bir web uygulama dili için kötü bir seçim olacağını nedeni var mı?

8 Cevap

Kısaca:

  • Lua daha küçük, basit bir sistem you can understand in its entirety verir, ama much smaller ecosystem içinde; Kepler olsun bütün olduğunu ve muhtemelen kendi bazı şeyler inşa etmek olacak. Ben bulmak bu kadar kolay ve eğlenceli (I Kepler parçası olan, ağır Lua bindings to the Expat parser kullanımını ve Lua Object Model) fakat diğerleri herkes kullanıyor ne kullanmayı tercih edebilir.

  • PHP bir dil daha makro işlemci daha fazla olarak başladı, ve o yıllarda geliştirilmiş olmasına rağmen insanlar derken, "X gerçekten çok iyi aldı", ben {[karşı dikkatli olma eğilimindedir (0)]}. Ben PHP offputting bulmak, ama bir huge ecosystem web geliştirme için vardır.

  • Python güzel bir dildir ama much Lua daha büyük ve önemli bir revizyon (2.5 ila 3.x geçiş) sancıları içinde. Yine bir big ecosystem olsun; Python ile olan sorun olduğunu the language and system are too big for any one person to understand all of. Ben gerek yoksa, bu durumda olmak sevmiyorum.

  • Ruby temiz bir dil tasarımı biraz, ve büyük Rails ecosystem is a winner. Ruby, Python daha az karmaşık ama Lua daha karmaşıktır. Raylar bir canavarın bir parçasıdır.

Bu soruya aşağı gelir:

  • Sen daha çok şey kendinizi bir sürü oluşturmak zorunda olsa bile, sisteminizde all yazılım anlamak istiyorsunuz?

  • Yoksa değil her parça tam olarak nasıl çalıştığını anlamak değil rüzgar bile, zaten sizin için inşa çok şey var ki?

Her şeyi anlamak istiyorsanız, Lua sizin oyunudur. Zaten sizin için inşa bir sürü şey istiyorum, ben bu yüzden üzerinde nasıl PHP / Python / JSP / Raylar arasında almak için size tavsiyelerde ve olamaz.

Daha Which language is better to use, Lua or Python? de Lua ve Python üzerine

Web geliştirme için Lua kullanma could bunu ... oldukça nadirdir, ancak bir web geliştirme dili (PHP) olarak olgunlaştı veya iyi web sahip olan bir dil kullanarak daha tüketen çok daha fazla zaman olacak Eğer Lua ile gitmek yaparsanız ilgili kütüphaneler (python / yakut / vb.), bu olgun web dilleri kolayca kullanılabilir olabilir ne için bir sürü "tekerleği yeniden" sona anlamına gelir.

Daha iyi bir soru, Lua size listelenen diğer dillerde sunulan edilmediği gerektiğini ne sunuyor edilir? Yoksa Raylar Ruby için yaptığı gibi Lua Lua MVC çerçeve oluşturarak daha iyi bir web geliştirme platformu haline yardım etmek istiyorsun?

Kepler project muhtemelen Lua web uygulama geliştirme için en iyi bilinen başlangıç ​​noktasıdır. Onlar mailing list olan arşivleri çeşitli yaklaşımların yararları tartışma bir sürü olacaktır vardır.

Kepler Site kendisini Sputnik Lua neredeyse tamamen yazılmış denilen bir CMS çerçevede inşa ve Kepler projesi dayanmaktadır.

Lua ile tipik bir yaklaşım bu arabirimleri uygulamak ve iş mantığı ve tutkal için Lua kullanmak için çeşitli sistem bileşenlerine arayüz için uygun bir dil kullanmak. Kepler dosya sistemleri, veritabanları ve Lua kod ağa erişim sağlamak C ölçüde yazılmış kütüphaneleri sağlar. Ayrıca Lua çoğunlukla uygulanan komple bir web sunucusu Apache, herhangi bir CGI yetenekli sunucu ve Xavante için uygulamaları ile, web sunucusu ile arayüzü için tanımlanmış bir API katmanı sağlar.

Python ve Lua sevdiğim iki dil vardır.

Lua güzel, ama benim deneyim bir dil olarak daha fazla iş olabilir. Aileden başlayarak, Lua kendinizi uygulamak için gereken birçok şey vardır. Ben en çok açıdan Lua Python üstün buluyorum, ama Lua, hızlı, küçük ve genellikle gömülü, bazı çözümler için harika.

Ben büyük bir dil olması nedeniyle, Python iyi bir seçim olduğunu düşünüyorum, ancak geleneksel web geliştirme için kullanılacak olması gerekenden daha fazla iş olmuştur. Belki Django gibi şeyler değiştirmek, ama ben geçen web geliştirme için Python baktığımda direği düşkün oldu. Ben bir sonraki web geliştirme yapmak ne zaman Python kullanacağız. Ben zaten yaptım, ama her zaman farklı bir platform / framework kullanarak, bu yüzden tutarlı olmamıştır oldum.

PHP büyük bir dil web geliştirme için büyük, ama değil. Bu ağır entegre ve büyük destek ve ucuz hosting ile, katı uygulamaları oluşturabilirsiniz. PHP web geliştirme bir sürü yapmak için kullanılır, ve PHP yıllardır pair.com hosting vardı. Dil benim bilek üzerinde zor olabilir bile ben tüm sistemin genel basitlik gibi.

JSP overkill.

Ben biraz geç geliyorum ... ama başka bir dilde atmak istedi: haXe

neden?

  1. haXe bir açık kaynak kodlu oldukça küçük bir tarafından yönlendirilen bir dil, ancak aktif bir topluluktur

  2. haXe bir platformdur iki ortalama bir dildir ... hedefleri şunlardır:

    • flash player 6-8 ve 9-10 bayt kodu veya ActionScript 3 kaynak kodu
    • JavaScript kaynak kodu
    • PHP kaynak kodu
    • NekoVM baytkodu veya Neko kaynak kodu (NekoVM hafif ve genişletilebilir VM, hem sunucu geliştirme, ve masaüstü uygulamaları için uygundur)
    • C + + kaynak kodu
    • Android Java kaynak kodu şu anda üzerinde çalışılıyor

    bu bir web geliştirici olarak, sen ... Aynı kod, daha sonra masaüstü / mobil uygulamalar için tekrar edilebilir aynı dilde hem zengin müşterilerine hem de sunucular yazabilirsiniz demektir ki,

  3. haXe is a very expressive and powerful language, featuring:
    • fonksiyonel yaklaşımların kullanımına izin (çok cebirsel türleri gibi) parametreleri ile birinci sınıf (haXe aynıdır anonim fonksiyonlar ve yöntemler,) fonksiyonları ve kapanışları gibi numaralamalar
    • vb jenerikler, yapısal alttiplendirmesinde dahil iyi tip sistemi, ..., kullanımını kolaylaştırmak için, derleyici, kod kesinlikle yazdığınız sağlayan çok yararlı bir tür kesmesi, var, ama size (değişken tip başlatma tarafından belirlenir fazlalık bir sürü kaydeder iade ifadeler türüne göre işlevin dönüş türü) ...
    • dinamik dizileri, yansıma / iç gözlem ve uzak paketine her şey dahil çapraz platform API, o başka bir platformdan diğerine, istemciden sunucuya tüm nesneleri göndermek için alows ...
    • son derece farklı platformlar hedefleri olduğunu, tutarlı ve radikal dili tasarım ... Tabii bu birkaç kusurları vardır, ancak bunlar çoğunlukla gerçeği geliyor ...
  4. kızlar onu seviyorum ve gerçek zengin yapacağız ...: D

de (aslında haXe ile bir sürü iş değil) yazdığınız zaman haXe hakkında büyük kusur Türlenmemiş kod platform spesifik yürütme pahasına, untyped kodlanmasını sağlar yani, ..., kod aynı şekilde idam edilecek tüm platformlarda ... değilse, sonuç platformun kendisi çalışma zamanı işleme göre değişir ...

birkaç kelime koymak için: o o büyüyor, genç ... Birçok platformları hedef izin veren bir büyük dil, ve sen katılabilir ...

Sadece dil buysa, o zaman ben Norman katılıyorum. Web geliştirme çerçevesi sizin için önemli ise RoR çok olgun bir çerçevedir, çünkü o zaman Ruby düşünmek zorundayız. Python seviyorum, ama bunların hiçbiri egemen olan, seçim için epeyce çerçeveler gibi görünüyor. CherryPy, vb Django, Pylons, web2py, Zope 2, Zope 3, benim için önemli bir gösterge piyasada daha RoR işler herhangi diğer (dil, framework) daha olmasıdır.

Bildiğim kadarıyla Lua web çerçeveler gibi, orada da LuCI. Çoğunlukla küçük gömülü sistemleri için kullanılır. Biz sadece bunu kullanarak bir proje başlıyoruz, bu yüzden şu anda çok fazla üzerine yorum yapamam. Biz sadece zaten örnek olarak verilmiştir ne benzer bazı basit konfigürasyon ekranları yapıyoruz, yani bizim ihtiyaçlarımız için yeterli olacaktır eminim.

Kepler Lua http://ophal.org bir web çerçeve yapı için bir deneyin, tek seçenek değildir. Bu PHP karadan geliyor eğer Lua anlamanıza yardımcı olacak bazı ortak PHP gibi işlevleri http://github.com/ophal/seawolf bir kütüphane ile birlikte geliyor.