Nasıl hızla bir Web uygulaması oluşturmak için?

8 Cevap java

Bir Web uygulaması oluşturmak için, açık kaynak kodlu web uygulama çatıları / teknolojilerin ne tür bir vea olacağını mevcut:

  • Hızlı öğrenmek için.
  • Kullanım kolaylığı.
  • (GUI açısından bakıldığında) hızlı gelişimi için widget var.
  • Veritabanı entegrasyonu.

I would want this web app to communicate to a Java client. I am not bound to Java on the server side ve free to try out any good rapid application framework.
To summarize, I haven't done much work for the server side hence am not conversant with the tools ve technologies for the same.
What would you suggest?
Any ve every input would be welcome!...

8 Cevap

Bu sorunun tek bir "doğru" cevabı yoktur. Yaklaşık 10 + yıllık bir Java programcısı bu soru sorulduğunda benim her zamanki cevabı ... PHP. Bunun birkaç nedeni vardır:

  • Düşük kaynak kullanımı (Apache, nginx);
  • Ucuz hosting;
  • Giriş için gerçekten çok düşük bariyer;
  • Gerçekten çok (Java gibi) Web için kullanılabilecek genel amaçlı olmaktan Web odaklı olduğunu;
  • PHP betikleri istekleri arasında (Java servlet olduğu gibi) kalıcı olmadığı gerçeği onları çok daha bağışlayıcı ve bellek sızıntıları ve diğer sorunlara neden daha az olası hale getirir;
  • (Python, Perl, vb gibi) Hayır dağıtım adım. Ben bu dinamik betik dilleri ile ilgili en iyi şey hakkında olduğunu söyleyebilirim. Sadece dosyayı kaydedin ve tarayıcınızda yeniden tıklayın;
  • PHP sözdizimi ve diğer bazı şeyler tutarsız olabilir ama o da olgun ve Web (örneğin Facebook, Yahoo, Flickr, Wikipedia) bazı gerçekten büyük siteler tarafından kullanılan bulunuyor;
  • PHP farkla en popüler Web geliştirme dilidir.
  • Radyo YUI, ExtJS, SmartClient, jQuery UI, vb gibi JavaScript çerçeveler tarafından herhangi bir şekilde yapılabilir;
  • PHP MySQL ile iyi uyuyor.

Söyleniyor, bu bir sürü de diğer dillerde (örneğin Python / Django) için geçerlidir.

Ben mutlaka PHP için bir çerçeve gerekir sanmıyorum ama eğer ben bir veya daha fazla bakmak istiyorum:

  • Kohana: o daha popüler CodeIgniter daha modern versiyonu gibi;
  • Zend Framework: modüler yüzden sizin kadar veya az bunun istediğiniz gibi kullanabilirsiniz;
  • Smarty: güçlü bir şablon sistemi bulunuyor.

Django dahil olmak üzere birkaç önemli 'hızlı' öğeleri vardır automatically generated administrative interface, birlikte ORM (SQL ve diğer bazı kod yazmak zorunda değil tarafından dev zaman düşürür) ve {[(ile büyük bir topluluk 2)]}.

Önce onlara gelişmekte geldiğinizde Django (veya Rails veya bu konuda başka bir MVC framework Ruby) hızlı olacak değil nerede öğrenme eğrisi. Django (ve RoR) ayırma-of-endişeleri biraz var ve çevrenin bu tür için kullanılan değilseniz, o çerçeve öğrenmek için bir süre alır. Eğer herhangi bir çerçeve için elbette daha sonra da alışmak için bir şey bir ORM kullanarak ve eğer de öğrenmek için API var ile gitmek.

Öte yandan PHP kodu koymak ve sayfaları web uygulaması nasıl makyaj nerede açısından biraz daha sezgisel. Bunu başında muhtemelen daha hızlı olacak istediğiniz yere Bu temelde kodunu tokat izin vereceğim. Sonunda onu daha hızlı olacak ama nihai ürünün sloppier olacak ve muhtemelen daha sonra yeniden faktoring gerektirir.

Bu aşağı çerçevesinin kullanımı ne bir soru geliyor. Bir hobi sitesi için ise, sadece aksi takdirde iyi desteklenen bir MVC framework düşünebilirsiniz, (php) kolay ne ile gitmek.

Diğerleri işaret gibi, jquery muhtemelen önceden yapılmış GUI widget için pick.

Edit - Ve görünüşe göre artık (1.1 gibi) Django a very awesome set of unit testing tools onunla birlikte geliyor sahiptir. Özellikle Django için uzatılmış TestCase, bir test istemcisi (w / gerçek bir istemci veya sunucu o test sayfası isteği yapabilirsiniz), size projenin sahip test kapsamının bir% vermek için bir araç, ve diğer bir sürü gibi şeyler düzgün şeyler.

Zaten "java" ile soru etiketlendi ettik, "php", "python", ve "yakut-raylar üzerinde", yani araştırma ve bu araçlar hakkında daha fazla bilgi muhtemelen soruyu cevaplamak için yardımcı olacaktır.

Ancak, rapidly building bir uygulama aslında neredeyse hiç doğru hedef olduğuna inanıyoruz. Yani, zamanla mümkün olan en düşük toplam geliştirme maliyeti ile korunur - Normalde, ne yapmak istiyorum olabilir rapidly maintained bir uygulama inşa.

Ben öğrenme eğrisi parçası anlayış kavramlarının girecek söyleyebilirim. Ben şimdi birkaç ay için web uygulamaları hakkında öğrenme edilmiş ve şu anda kavramların benim gelişmiş anlayışı ile, en çerçeveler çok benzerlik göstermektedir. İşte benim sonuçlar çok uzaktır:

  • PHP: Büyük formlar, http-post-istekleri, http-get-isteklerini yapmak için kavramlar hakkında bilgi edinmek için. veri tabanı tabakası ile kolayca etkileşim ve birkaç saat içinde çalışan bir temel uygulamasını elde etmek mümkündür. Neredeyse hiçbir yapı sistemleri ve web sunucusu yapılandırması ile sorunsuz.
  • Ruby-on-Raylar: REST ve daha karmaşık CRUD uygulamaları hakkında bilgi edinmek için harika. MVC arkasında karmaşıklığı ve ActiveRecord kullanarak veritabanı katmanı özellikle basit ve güçlü bir etkileşim hakkında bilgi edinmek için harika. Meta-programlama (kod-ki-yazar-kodu, kod-iskele) tanıtımı harika. Ücretsiz bulut-dağıtım, örneğin için güzel fırsatlar heroku.com ve çok aktif bir topluluk var
  • Java: Güçlü etkileşim, web-server mümkün olan (Tomcat, JBoss, ...) MVC burada yerine karmaşık ve genel birçok yapılandırma adımlarla gerekli sistemleri (ORM katmanı oluşturmak, ...) Grails büyük simplifaction ve tanıtır olduğunu Java için meta-programlama. JBoss Seam Java dinlenmeye tanıtır (ama henüz bu işe bakmadım)

Ton olanlar ne gerek bağlıdır "iyi" olan vardır.

Ruby oldukça kullanışlı Raylar üzerinde var.

Python için Django var.

PHP (PHP ile ilgili çok fazla zaman harcamak) için, bakabilirsiniz:

  • symfony
  • cakePHP
  • Solar
  • Zend Framework

Bazı durumlarda tüm iyi, ve diğerleri can sıkıcı olan.

Kalkınma hızı bakımından sadece konuşan, Ruby on Rails orada hızlı biridir.

I Grails için oy vereceğini.

Aşağıdaki çevrimiçi Java web uygulama jeneratör kullanarak 5 ila 10 dakika içinde bir çalıştırılabilir bir Java Web uygulaması oluşturabilirsiniz:

http://www.webappexpress.net