erhnam Posted February 26, 2008 at 08:23 PM Report Share #169261 Posted February 26, 2008 at 08:23 PM Boa noite! Estou prestes a começar um pequeno projecto e gostaria de saber a vossa opinião sobre que framework usar. O "projecto" vai ser um joguito online cujos pormenores ainda não foram bem definidos, por isso não consigo adiantar muito em relação a requisitos. Assim de repente terá de ter suporte para várias línguas e ser uma tecnologia relativamente escalável (quem sabe se não faço uma coisa assim com bué sucesso e milhares de pessoas começam a jogar... ). Nem sei o que mais dizer, até porque nunca trabalhei com nada deste género. Obrigado Link to comment Share on other sites More sharing options...
Warrior Posted February 26, 2008 at 09:35 PM Report Share #169288 Posted February 26, 2008 at 09:35 PM Para jogos online só tens duas hipóteses: PHP+CSS+Ajax (escalável quanto chegue) ou Flash. Link to comment Share on other sites More sharing options...
erhnam Posted February 26, 2008 at 10:38 PM Author Report Share #169311 Posted February 26, 2008 at 10:38 PM Hhmmm... essa é a "escolha óbvia". Mas PHP preocupa-me (e muito) na parte de interface com base de dados e criação/alteração de forms. Além disso não há IDEs decentes, e debugging é mentira. Isto se fôr PHP simples. Sei que há frameworks, mas não conheço nenhuma e não sei se são boas a fazer o que referi. Link to comment Share on other sites More sharing options...
djthyrax Posted February 26, 2008 at 10:45 PM Report Share #169312 Posted February 26, 2008 at 10:45 PM http://en.wikipedia.org/wiki/List_of_web_application_frameworks Eu escolheria PHP ou Python. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
MX+ Posted February 27, 2008 at 01:51 AM Report Share #169341 Posted February 27, 2008 at 01:51 AM Eu recomendo apenas uma: Cake À dois anos existiam muitas candidatas, mas o Cake foi o que realmente foi crescendo e ficando mais madura. É a única neste momento que tem uma organização coerente e crescida. Symphony era outra opção mas foi claramente ultrapassado pelo Cake. Há é sempre uma desvantagem que é o overhead que estas frameworks causam até para coisas mais simples. É algo que ando a tentar melhorar pelas minhas próprias mãos. Link to comment Share on other sites More sharing options...
erhnam Posted February 28, 2008 at 01:12 AM Author Report Share #169608 Posted February 28, 2008 at 01:12 AM Já agora http://www.google.com/trends?q=cakephp%2C+zend%2C+webobjects%2C+django%2C+ruby+on+rails&ctab=0&geo=all&date=all&sort=0 A Cake é bastante recente comparada com Django (Python) e Zend (PHP). Mas a verdade é que tem tido um crescimento bastante bom. Ruby on Rails tem altos e baixos, e parece que o crescimento está um bocado estagnado. Link to comment Share on other sites More sharing options...
Knitter Posted February 28, 2008 at 11:55 AM Report Share #169638 Posted February 28, 2008 at 11:55 AM Só uma nota em relação a IDEs de PHP, o Netbeans tem um módulo que se bem que novo, é um excelente editor de PHP e o Aptana Studio, que já era um excelente IDE para XHTML/Javascript/CSS, possui também muito bom suporte para PHP. Sei que o eclipse também tinha um plugin que vi alguns programadores de PHP usarem mas não sei como está actualmente. E é possível fazer debug em PHP, utilizando por exemplo, o xdebug www.sergiolopes.eu Link to comment Share on other sites More sharing options...
Guest id194 Posted February 28, 2008 at 03:31 PM Report Share #169649 Posted February 28, 2008 at 03:31 PM Só uma nota em relação a IDEs de PHP, o Netbeans tem um módulo que se bem que novo, é um excelente editor de PHP e o Aptana Studio, que já era um excelente IDE para XHTML/Javascript/CSS, possui também muito bom suporte para PHP. Sei que o eclipse também tinha um plugin que vi alguns programadores de PHP usarem mas não sei como está actualmente. E é possível fazer debug em PHP, utilizando por exemplo, o xdebug O Aptana Studio tem duas vertentes, standalone (a que uso) ou plugin para o Eclipse. Não sei se o plugin que falas po Eclipse será o mesmo ou um outro à parte nada relacionado com o Aptana. Link to comment Share on other sites More sharing options...
Knitter Posted February 28, 2008 at 04:26 PM Report Share #169662 Posted February 28, 2008 at 04:26 PM Não, o plugin do Aptana não é o mesmo plugin de PHP que vi, não me lembro do nome mas posso procurar, sei que há algum tempo andei também a tentar usar mas não gostei. Também experimentei o plugin do aptana, mas na altura que experimentei, isto nas versões milestone do apatana, ainda não era tão estável como o versão baseado na plataforma do eclipse, optei por usar a versão baseada na plataforma e desde então não tenho usado outra coisa 😉 www.sergiolopes.eu Link to comment Share on other sites More sharing options...
pedrotuga Posted February 28, 2008 at 04:57 PM Report Share #169667 Posted February 28, 2008 at 04:57 PM Está uma discussão noutro tópico sobre frameworks PHP http://www.portugal-a-programar.pt/index.php?showtopic=17210 Mas como este tópico tem alguma especificidade adicional ficam os dois abertos. A minha preferida chama-se codeigniter podes ler no outro tópico porque é que eu gosto dela 😉 Eu sou um dos maiores defensores do PHP aqui no fórum mas tenho que fazer o papel do diabo aqui. PHP não é a única solução. A framework MVC que foi o epicentro desta moda foi mesmo o ruby-on-rails. Mas há outras em várias linguagens. Se fores um programador profissional de python por exemplo, é caaz de ser melhor ideia usares uma framewowork de python. Talvez seja melhor tornar a discussão mais objectiva, que características procuras na tua framework? Em relação aos editores, a abordagem procedimental do php faz com que funcionalidades como code completion não sejam tão fulcrais, no entanto há dezenas de editores com suporte para snippets php, o gedit é o meu preferido. Um editor que interaja bem com com um sistema de ficheiros remoto é uma boa escolha. O plugin do netbeans permite-te ler phpdocs conforme teclas, tem code completion, dezenas de keybindings. E como estás a usar o netbeans tens a tua disposição coisas como suporte para subversion, etc. Link to comment Share on other sites More sharing options...
erhnam Posted February 28, 2008 at 05:53 PM Author Report Share #169670 Posted February 28, 2008 at 05:53 PM Está uma discussão noutro tópico sobre frameworks PHP http://www.portugal-a-programar.pt/index.php?showtopic=17210 Vou dar uma olhadela nesse tópico, mas pelo que vi já estou quase convencido a que, se usar PHP, vai ser CakePHP ou Zend. Principalmente por existirem já há bastante tempo e por isso terem já atingido alguma maturidade e terem uma grande comunidade por trás delas sempre a desenvolvê-las. Talvez seja melhor tornar a discussão mais objectiva, que características procuras na tua framework? A minha primeira ideia quando decidi começar isto foi: faz-se em PHP. Mas depois lembrei-me de todos os pequenos e irritantes problemas que tenho com PHP, forms e acessos à base de dados durante os meus pequenos projectos e achei que para isto, que vai ser consideravelmente maior, não posso meter-me só com PHP simples (notepad, as funções do PHP e mais nada). Requisitos: assim de repente são os de um jogo online, multiplayer, browser-based e parcialmente real-time. Mais: * O mínimo de SQL escrito à pata. Quero um mapeamento O-R jeitoso e o mais automático possível * Evitar andar a programar (e validar) forms de uma forma completamente manual. Nas páginas simples que tenho feito é uma das coisas que mais erros causa * Suporte para várias línguas * Autenticação dos utilizadores Link to comment Share on other sites More sharing options...
pedrotuga Posted February 28, 2008 at 06:48 PM Report Share #169676 Posted February 28, 2008 at 06:48 PM Se orm é um requisito importante para ti então o codeigniter não é boa escolha. É pena, porque a sua classe de validação é simplesmente genial. O symfony usa duas tecnologias em combinação para ORM: creole e propel. Basta especificares as caracteristicas da BD num YAML, correr um script e tás a andar de mota. Certamente que o cakephp tambem deve fazer isso por ti mas deve ser de outra forma. O MX+ talvez te saiba explicar isso melhor. Quanto ao SQL, o symfony penso que é única que tem suporte para creole,mas penso que todas elas hoje em dia já têm uma classe besada em activerecord. O CI pelo menos tem, pessoalmente acho que isso não poupa muito trabalho, mas tá-se. Agora, uma coisa que aprendi por experiencia e que a maior parte das pessoas pensa que é diferente: Estas frameworks seguem mais uma máxima de "boa prática de programação" do que propriamente "uma aplicação em poucos passos", se bem que todas afirmam o contrário. O ganho é maior em organização, flexibilidade e extensibilidade de código do que em volume. Link to comment Share on other sites More sharing options...
erhnam Posted February 28, 2008 at 07:17 PM Author Report Share #169683 Posted February 28, 2008 at 07:17 PM Quanto ao SQL, o symfony penso que é única que tem suporte para creole,mas penso que todas elas hoje em dia já têm uma classe besada em activerecord. O CI pelo menos tem, pessoalmente acho que isso não poupa muito trabalho, mas tá-se. Se calhar não poupa trabalho a programar na primeira vez. Mas quase de certeza que poupa muito trabalho a corrigir bugs e a fazer alterações. Falo sem experiência mas já me disseram que com Django é extremamente fácil fazer alterações em classes que são facilmente passadas para a BD e os próprios forms são mudados de acordo com as alterações. Agora, uma coisa que aprendi por experiencia e que a maior parte das pessoas pensa que é diferente: Estas frameworks seguem mais uma máxima de "boa prática de programação" do que propriamente "uma aplicação em poucos passos", se bem que todas afirmam o contrário. O ganho é maior em organização, flexibilidade e extensibilidade de código do que em volume. Apesar de não ter experiência com estas frameworks web mas da experiência que tenho de programação (ao longo de 6 longos anos num curso de Engenharia Informática), seguir boas práticas de programação pode parecer chato e trabalho inútil ao início, mas depois torna-se muito benéfico na long run. Lá está, são a flexibilidade e extensibilidade de que falaste. Link to comment Share on other sites More sharing options...
pedrotuga Posted February 28, 2008 at 09:07 PM Report Share #169724 Posted February 28, 2008 at 09:07 PM Se calhar não poupa trabalho a programar na primeira vez. Mas quase de certeza que poupa muito trabalho a corrigir bugs e a fazer alterações. Falo sem experiência mas já me disseram que com Django é extremamente fácil fazer alterações em classes que são facilmente passadas para a BD e os próprios forms são mudados de acordo com as alterações. Ora lá está uma coisa que nunca me tinha ocorrido. Pois, realmente é verdade. Acabei de descobrir uma coisa. Estou a desenvolver uma aplicação baseada no joomla. Ando a ler a documentação e descobri que o joomla 1.5 vem com uma framework MVC 100% funcional. Pessoalmente o joomla é o exemplo de software que eu não gosto, bloated ao máximo, complicado para aquilo que faz e estupidificante. Mas foi um requisito do cliente... tenho que o usar. Anyway, usar esta framework pode ter a vantagem de poderes integrar a tua aplicação com muitas funcionalidades disponiveis para o joomla. Se bem que estas incidam essencialmente sobre a parte que não é o teu jogo, como é natural. Não sei, daqui a umas semanas digo-te qualquer coisa. Link to comment Share on other sites More sharing options...
Rui Carlos Posted February 28, 2008 at 09:27 PM Report Share #169742 Posted February 28, 2008 at 09:27 PM Também podes ver algumas frameworks de Perl, por exemplo, a Catalyst ou a Mason. Em particular, a Catalist (a que eu conheço minimamente), dispões de uma quantidade enorme de plugins que te permitem adicionar as mais variadas funcionalidades (autenticação, bases de dados, templates, etc.), dando-te a possibilidade de escolher os componentes que queres para disponibilizar uma determinada funcionalidade. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
fnds Posted February 29, 2008 at 02:22 PM Report Share #169844 Posted February 29, 2008 at 02:22 PM Para jogos online só tens duas hipóteses: PHP+CSS+Ajax (escalável quanto chegue) ou Flash. Também tens o Java, para o lado do cliente. Link to comment Share on other sites More sharing options...
djthyrax Posted February 29, 2008 at 07:01 PM Report Share #169871 Posted February 29, 2008 at 07:01 PM Também tens o Java, para o lado do cliente. E para o lado do servidor também, há quem goste de Java Servlets... Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
erhnam Posted March 2, 2008 at 04:11 PM Author Report Share #170097 Posted March 2, 2008 at 04:11 PM Java está fora de questão tanto do lado do cliente (porque requer andar a instalar coisas e é pesadão) e do lado do servidor (porque... err... é pesadão). A única coisa que envolve Java que eu ainda considerei foi o GWT, em que se programa em Java e o código é convertido para Javascript. Mas a modos que o tipo de aplicação não é o mais adequado. Link to comment Share on other sites More sharing options...
Rui Carlos Posted March 2, 2008 at 05:38 PM Report Share #170111 Posted March 2, 2008 at 05:38 PM Java está fora de questão tanto do lado do cliente (porque requer andar a instalar coisas e é pesadão) e do lado do servidor (porque... err... é pesadão). O conceito de pesado é subjectivo, mas vamos lá ver que o PHP não é propriamente leve. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
pedrotuga Posted March 2, 2008 at 06:27 PM Report Share #170124 Posted March 2, 2008 at 06:27 PM O php é na verdade incrivelmente leve. Tem que ser leve pois a sua arquitectura é pesada. Eu explico: A forma de correr uma aplicação PHP consiste tipicamente em receber os pedidos HTTP, com base neles processar um script e enviar o output para o ip que fez o request via HTTP. Isto implica que se, mil pedidos são feitos num minuto ao mesmo script, o php tem que ser processado 1000 vezes para fazer o mesmo output. Tendo em conta os recursos que isto implica, o php é incrivelmente leve. Mas esta arquitectura não é a melhor para uma aplicação de acesso massivo. Por exemplo uma aplicação em java pode ser compilada, com isso evita-se que se esteja a processar o mesmo código vezes sem conta. Para muitas situações é uma solução muito mais robusta e que responde muito melhor a grendes necessidades de trafego. Pelo menos concpetualmente, tambem andam por aí instalações de aplicações em php que respondem a tráfego elevadissimos, o yahoo por exemplo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now