Flex + Java Servlet vs Geleneksel HTML / CSS / JS + PHP -

5 Cevap php

Yani durum biraz karmaşıktır. Flex ve JSP kullanarak kendisi tarafından bu web uygulaması geliştirirken bir lisansüstü öğrencisi vardı. Kariyeri ile taşındı ve başka bir yerde iş aldı. Halen uygulamaya erişimi olan ve sık sık onu korur.

Along with couple other students and I took over the project the grad student built to fix some issues and improve the application to the point where we can deploy this website to the public for academic uses. The purpose of the application is not important here, but we are having trouble with this application.

None of the source code has documentation. It takes us hours and hours to just figure out how things are connected and coherently work (or does not work). Although we know and familiar with JSP, we are not so familiar with Flex. I thought it would be interesting to learn new client-side technology before I took this project.

Koduna bakarak ve sorunları araştıran birkaç hafta sonra, ben bile Flex kodları düzgün bir şekilde organize olmadığını öğrendim. Birçok kodlanmış değerleri vardır. Kaynak kodu tamamen modüler ve ölçeklenebilir değil değil. Flex'te geliştirme hakkında okumak örnekler ya da makaleler bu Flex uygulaması nasıl inşa edildiğini farklıdır.

Çünkü biz bile asıl sorun bakmaya başlamadan önce uğraşmak zorunda Bütün bu yükü, biz (muhtemelen CakePHP kullanarak ... en PHP çerçeve daha iyi olduğunu tartışmak değil izin) ile PHP kullanarak içine tüm uygulamayı değiştirmek için önerilen geleneksel istemci-taraflı diller - html, css, js (jQuery çerçeve).

Grad öğrenci bu geçerli uygulama olduğu için yeni app almak için bize zaman alacak, çünkü bu, kötü bir fikir olduğunu düşünüyor.

Ben geri biz şu anda nerede gelmek için biraz zaman harcamak gerekir anlıyorum. Ancak, biz anlamak ve cevaplar için beklemek yok şeyler bu grad öğrenci sormak gerek olmazdı. Biz de çirkin kod ve belgeleri hiçbir ile uğraşmak zorunda değilsiniz. Biz PHP çerçeve nasıl çalıştığını öğrenmek ve bunun dışında gerçek bir uygulama oluşturabilirsiniz. Kullanıcılar aynı zamanda sonuna kadar web uygulaması erişmek için "flash player" gerekmez.

Grad öğrenci, PHP, JSP daha iyi olacağını nasıl görmüyor bu deyimi ile geldi.

Ancak, ben çok iyi çerçeveler ve araçlar günümüzde PHP geliştirme için vardır, çünkü JSP, PHP daha iyi nasıl görmüyorum. PHP (I JSP ile olanları görmüyorum, ama PHP JSP yapabilirim ne yapabilirim değil) başarılı hikayeler bir sürü bakın.

Ben topluluk ben proje yönetimi, geliştirme ve eğitim yapılacak şekilde daha fazla deneyime sahip insanlar var biliyorum çünkü Yani, ben, StackOverflow Topluluğa bu soruyorum. Eğer ben yapmalıyım ne düşünüyorsunuz? Ben proje aracılığıyla sopa ve sadece Flex / JSP geliştirmeye devam etmeli mi? ya da ben herşeyi sıfırdan bina (Evet, biz hala referans olarak eski uygulamayı kullanır) ikna mı?

Bana yardım edin. Ben yoluyla sopa ya da değiştirmek için neden ihtiyaç Ayrıca, söyle.

Uzun yazı için özür dilerim.

Edit
Some other problems that I did not mention are...
1. For some reason, the grad student worked on the server directly instead of creating a local workspace or making a test/development site. I don't really like this idea, and when we were trying to bring things locally, it was giving us a lot of problems due to the fact that many things are "hardcoded". We sometimes don't even know where the error is coming from or why things are not working the way it does on the website because obviously, we don't know every piece of code.
2. No document means absolutely no document. No comments in the code. No functional specs (although as I play around with the site, I find the major functional specs). No database schema. Nothing. Nada. This is the most frustrating part, because I always feel like I'm wasting time by trying to figure out what is already working -- I need to see how things work or are supposed to work to fix bugs..right?

I would also like to get some feedbacks on technical advantages and disadvantages of having Flex/JSP, besides the cool, fancy UI Flex has to offer.

5 Cevap

Bir arka-uç veya etiket kütüphaneleri PHP olmadan = JSP. Ikisi arasında gerçek bir fark yoktur. Ancak, JSP genellikle katman çerçeve (j2ee) ve onları okumak için biraz daha kolay hale etiket kütüphaneleri ile uyum içinde kullanılır. Bu onlardan biri ile kullanılıyor değilse, o zaman evet PHP bir damla-bir yedek olacaktır.

Bir yazımının daha felsefi sorununa gelince. Size orijinal kodu anlamak çok sorun vermek için yeterince karmaşık olan herhangi bir web uygulamasını yeniden uzun bir zaman alacaktır. Temelde sıfırdan bina konum olarak, 4-5 ay düşünüyorum. Muhtemelen 6-8 hafta düşünüyorsanız, yanılıyorsunuz. ;-)

Genellikle, gut içgüdüsü onu atmak ve yeni bir başlangıç ​​için. Bu içgüdü savaşın. Biz onu okurken bile kötü okunabilir kod yazma ve tüm kötüsün. Sadece iki hafta ya da öylesine için üzerine çalışan olduysan, muhtemelen düşündüğünüz kadar kötü değil. Yani kendinize şu soruları sorun:

  • sadece özellik eşitliğe ulaşmayı geliştirme süresi 4 ay var?
  • kod gerçekten kötü? Hiç kuşatma var? Eğer sadece iyi yazılmış bir kod ile çalışmak için gereken bazı anahtar parçaları yerine değil misiniz? (Tercihen geri kalanı gibi aynı dilde)
  • Eğer sürüm aslında bu diğer kişinin kod daha iyi ortaya dönecek kadar eminsiniz? Eğer ders herhangi bir takip, bina bu bina öğrenilen geçerli olamaz yani tüm sonra, orijinali yazmadım.

Uzakta bir şey (bir sürü iş çıkıyor olabilir bir şey) atmadan önce, hiç işe yarar hiçbir şekilde gerçekten var emin olun. Aksi takdirde, sadece daha fazla stres için kendinizi kurma konum.

Ben "kod öylesine berbat olması nedeniyle yeni bir takım, eski takım ne yaptığını ve yeniden yazmak geliyor ve onlar eski kod yaptıklarını odaklanarak çok fazla zaman harcamak çok fazla" sıfırdan yeniden "senaryoları, bir parçası olmuştur bunu düzeltmek böylece "yanlış, onlar gerçekten kod doğru ne yaptığını araştırdık asla, bu yüzden yeni uygulama diğer korkunç şekillerde başarısız oldu.

Benim önerim kodu yeniden yazmak, ama aynı teknolojiyi kullanmak ... ya kendisi esnek veya JSP, veya JSP kullanmak istiyorsunuz. Bu mevcut kod parçalarını Refactor ve zaten çözülmüş sorunları kaldıraç sağlar.

Bu parça kod parçasını yeniden yazmak ve kilometre taşları vardır ve sonunda kötü kod çıkartmaya olanak verir.

Ben iyi bir programcı ya da iyi kod yazabilir, onun bir soru daha iyi bir PHP veya JSP olduğunu sanmıyorum. Belgeler gerçekten kod iyi yazılmış ise kendini açıklamak gerekir, ya da büyük bir anlaşma olmamalıdır. Ben sormalısınız sorular yeniden yazmak için zaman var mı düşünüyorsunuz? ve onun yeniden yazılmış ise buna değer olacak?

Lütfen sorun kod yazarken öğrencilerin olması gibi bana geliyor. Öğrencilerin ve tüm bunlar bir kaç uygulamalar yazdım kadar berbat kod yazacağız. Belki öğrencilerin yardımıyla, biraz tecrübe re-write ile bir geliştirici var.

Bu aslında üstlenmeden karşı yeniden bir sorudur. Yeniden süre bazen gereklidir, onun neredeyse her zaman tercih kodunu refactor. Bir kere, yeniden hemen hemen her zaman üstlenmeden daha (her zaman olmasa bile) daha uzun sürer ve başka, yeniden varolan sürümde görmek hata bir sürü düzeltmek olabilir ama yenilerini tanıtacak olacaktır. Üstlenmeden sadece sorunları olan kodunu değiştirirken varolan iyi kod kaldıraç izin vermelidir.

Ben kuvvetle ne uygulama yapıyor olması gerektiğini tanımlayabilirsiniz böylece grad öğrencinin ve profesörün girişi olan özel bir belgeyi yazma düşünün tavsiye ederim. Sonra, şu anda ne yaptığını tanımlar. Bu size özellikleri eksik ne bir fikir verecektir.

Tüm bu tanımlar kez de özellikleri doğru çalışmıyor ne olduğunu tanımlamak gerekir. Temel olarak, bu hata tanımanızı sağlayacak.

Birincisi, hataları düzeltmek. Eğer dışarı ütülü mevcut hataların hepsini aldık kadar başka yeni bir özellik yazmayın. Sonra kodu refactor. Lütfen üstlenmeden yeni hataların tanıtmak değil emin olmak için bir test.

Sonra yeni özellikler yazmaya başlayın. Yine, acımasızca Refactor ve sık sık Refactored kodu test emin olun.

Seni Teknik borç ödemeye üzerine this post Jeff'ten okumanızı öneririm. O da yapılmış o ya ben yazısında bağlantılardan birini okumak One comment size tekrar geri gelmek ne zaman, tam olarak nerede üstlenmeden başlayacağınızı bilmek böylece açıkça herhangi Cruft işaretlemek emin olmak istiyor.

Çok daha hızlı bir mükemmel, lekesiz bir de olsa, bu sonuçta, size çalışan bir uygulama vereceğim.

Bahsettiğiniz bazı ek hususlar:

Flash Player

Cidden, hemen hemen herkes yüklü. En az bir kez youtube ya da kullanan diğer bazı siteyi ziyaret değil insanların sayısı yok denecek kadar azdır. Burada soru Flex ilk etapta doğru aracı olup olmadığı olmalıdır? Ben flash 'kendi özgün geliştirme ekibi bildiklerini neden kullanılan örneklerini gördüm. Durumu önlemek için deneyin "Bir çekiç olduğunuzda, her sorunun bir çivi gibi görünüyor."

Learning PHP better or learning a PHP framework

Bu hedefleri bir sorudur. Bu proje tamamen sizin için bir şey ile öğrenmek için takımın geri kalanı da aslında bu projenin bazı sonuçları görmek için bekliyor (profesör gibi) kişidir? Sen yeni teknolojisini kullanarak herhangi bir algılanan kazanç karşı istihdam ediliyor güncel teknolojileri ile mevcut bilgi yararlanarak yararları tartmak gerekir. Eğer proje için önerilen "yeni" teknoloji bir şeyler yapmak için başarısız olacağını göreceksiniz nerede birlikte gitmek ve daha sonra büyük olasılıkla çalışırken zaman kaybedersiniz gibi muhtemelen sürprizlerle bir dizi olacak aklınızda tutun soruna nasıl anlamaya.

Eğer (o da biraz kibirli olabilir) deneyimsiz bir lisansüstü öğrencisi bu uygulama yazmak var gibi bana geliyor.

Ben, uygulama yeniden, Refactor değil denemenizi öneririm. Güncel teknolojiyi (JSP ve Flex) yeniden deneyin. Sen grad öğrenci ile çalışmak, veya Flex / JSP deneyime sahiptir başkası olsun, ve emin kod uygun refactored emin olmak için birlikte çalışabilir.

Yeniden yazma sadece daha fazla böcek tanıtmak ve zaten çalışma işlevselliği ihmal edecek.

Ben ne oldu (Pisa Kulesi düşünüyorum) lisansüstü öğrencinin herhangi bir denetim olmadan oluşturmak için izin verildi olduğunu düşünüyorum. Bu yaratıcılık akışına izin, ama takip etmek bir yol olduğundan emin olmak için ok bulunuyor. Aksi takdirde, her zaman sizi sel bulacaksınız.