Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chuck01

Novo Framework PHP Brasileiro - Facil Facil

Recommended Posts

Como avisei, se continuasse com a postura, a critica seria mais severa..

 

Sobre o supressor de erros, não há problema em usá-lo pois há casos onde é melhor usar por conveniência e até mesmo por falta de recursos de certas librarys.

 

Tomando como exemplo o trecho do código que expus no post #37.

 

Esse é um tipo de situação onde o supressor de erros não parece ser necessário.

@$view=$ctrl->_neosViews[trim($ret['name'])];

 

Geralmente fazemos isso quando estamos com muita pressa para finalizar um serviço. Nesse caso, tudo bem.. Outro caso também é que se o erro ocultado não provocar outros erros, não vejo problema em usar o supressor.

Contudo, demonstra ainda uma falta de controle sobre os eventos de erro.

Não sei dizer que tipo de erro pode ser provocado nesse caso específico. Quem desenvolve o código é quem deve saber, portanto sabe das consequências. Se não forem danosas, tudo bem. Deixe como está e continue desenvolvendo as partes triviais. Quando tiver tempo, passe um "pente fino" nos códigos.

 

O uso do global cai na mesma situação. Apenas evite usar abusivamente, pois ele foi criado justamente para "fazer gambiarras".

 

Não tinha reparado que a versão disponível para download ainda é uma adaptação da versão anterior. Pensei que já fosse uma prévia da versão 2, apesar de estar anunciado para 2012.

Vou aguardar..

 

 

Um comentário sobre construção de frawmeworks.

Todos os outros fw que surgiram após o "boom dos fw" vieram com essa mesma proposta sobre a "remoção de gorduras", praticidade, curva de aprendizado, etc..

Vou pegar como exemplo o RoR (Ruby On Rails).

Na primeira versão era um FW super simples, muito fácil de aprender a usá-lo, porém, era ineficiente para muitas finalidades. Apequena comunidade pediu e, na versão 2 trouxe mais recursos, no entanto, a curva de aprendizado dificultou um pouco pois surgiram novas regras, ficou mais pesado, etc.

Agora na versão 3 está mais poderoso, porém a curva de aprendizado ficou mais difícil para quem começa do zero e não acompanhou desde as primeiras versões. Tornou-se mais burocrático. Não utilizam mais o grito de guerra.. a proposta sobre ser mais leve e compacto que outros FW (eles criticavam muito o CakePHP até 5 anos atrás). Mas ironicamente estão indo para o mesmo caminho.

 

O que quero dizer é que, é inevitável que o FW não evolua desse modo. Pois o uso prático exige diversas implementações que muitas vezes a equipe que desenvolve não tem tempo para ficar "lambendo o código", sendo forçados a criar gambiarras em muitas situações.

Isso é relativo à demanda dos serviços e popularidade do sistema.

 

Para frameworks populares como o ZendFramework e CakePHP, temos um suporte que outros fazem com muita dificuldade. Num dos posts deste tópico tem um comentário do mestre Fabyo sobre um situação com o Zend onde ele pdiu suporte e num update seguinte incluíram a adaptação.

É desse tipo de coisa que os usuário precisam. O suporte, a sustentabilidade. Você se sentir seguro de poder atender as necessidades da sua empresa, dos seus clientes.. enfim, os seus negócios.

 

Vou citar novamente o RoR nesse exemplo. Há bibliotecas do RoR que estão abandonadas desde 2004! Quem depende dessas librarys tem que se virar como pode.

 

Fiz esse comentário pois pelo que percebi o seu foco está no modelo de negócios e um pouco distante da parte técnica.

Tem um marketing razoavelmente bom, apesar de se expor a atritos desnecessários, causando uma péssima impressão.

No entanto, o que incomoda é o fato de fazer uma propaganda maior do que o produto. O ponto ruim nisso é que cria-se uma espectaviva enorme e quando o usuário experimenta não se sente satisfeito e, o pior, fica frustrado e até se sente enganado.

Você ganha com volume de novas adesões, porém perde a fidelidade logo no início.

Esse tipo de marketing que você faz é bom para produtos temporários, e esse não creio que seja o caso né.. então há essa falha grave no seu merchandise, sem falar nas incoerências como a questão de bater na tecla do software "brasileiro feito em português".

 

O problema nisso é que só aí você já perde adesão de milhares de developers no mundo todo. Apenas Brasil, Portugal e Angola falam português. O mundo todo caminha para a globalização e, o idioma global é o inglês. Por isso o padrão "internationalization" é em inglês.

A internacionalização não é uma metodologia e sim um fato. O mundo inteiro já é globalizado e desenvolve-se cada vez mais para a unificação.

 

Você pode construir usando nomenclaturas em português, porém, criará uma barreira para quem não entende o idioma. Em contrapartida, ao acessar o site do NEOS FW, logo na página inicial tem um vídeo. Não entendi o propósito daquele vídeo do Mozilla em inglês.. Parece que foi colocado apenas para preencher espaço vazio.

 

A imagem que transpareceu a mim foi de amadorismo. Ser profissional não é escrever bonito e ter uma imagem atraente somente.

 

É algo mais profundo. É firme, sólido, forte. Quem olha vê e sente confiança.

Evite também usar truque de marketing com profissionais que lidam com marketing. Não posso dizer pelos outros colegas daqui dessa área do fórum, mas creio que a maioria aqui lida com marketing e propaganda e percebeu a sua jogada. Você pode aplicar isso em leigos mas é de certa forma inconveniente fazer isso com marketeiros...

 

Não acho você arrogante ou que esteja tentando enganar alguém, mas o modo como emprega o marketing do seu produto transparece algo non-sense.. Acho que se for para corrigir algo, corrija essa postura também.

O que acho bacana é que você lê as críticas e responde de forma muito educada. Reconhece certos erros.. isso já é um bom caminho.

 

continue seu trabalho e desculpe pela crítica extensa. Se há alguma ofensa não foi a intensão em fazê-la.

 

obrigado pela atenção

 

:natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o zend usa gambiarra isso não justifica você usar tbm. faça certinhooo o serviço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quanto ao '@' vejamos:

 

$fh = @fopen('Zend/Tool/Framework/Client/Console.php', 'r', true);

 

@$view=$ctrl->_neosViews[trim($ret['name'])];

 

Não sei dizer que tipo de erro pode ser provocado nesse caso específico.

 

PHP Notice: Undefined offset:.....

 

Existe uma diferença muito grande, @NEOS, entre utilizar @fopen e @$var[$offset]. A função fopen vai disparar um E_WARNING ou E_NOTICE em diversas situações, e em outras um E_ERROR, como falha no sistema de arquivos e outros. Disparar o erro em vez de dar o controle ao desenvolvedor é uma falha da linguagem PHP e, por isso, você vai encontrar a função fopen com @ em muitos códigos de produção. Por outro lado, $var[$offset] com @ é claramente falha no código.

 

O grande problema em utilizar @$var[$offset] é que você irá, muito provavelmente, precisar daquele valor (afinal é uma view) e irá confiar que determinada variável possuirá tal valor. Em PHP não temos um NullPointerException, mas as consequências desse arroba, nesse caso, podem ser extremamente danosas à aplicação.

 

Eu vi o código que está no trunk (btw, crie um branch para testar nova funcionalidade, isso aqui é absurdo) e, sinceramente, me deu arrepios. Eu tinha começado a listar aqui no tópico os códigos problemáticos e os problemas que identifiquei, mas acabei apagando pois ficou imenso. Se posso dar uma contribuição séria, apague tudo e comece novamente.

Algo muito importante, se quer alguém colabore com o desenvolvimento, é encontrar uma licença adequada. O comentário abaixo está em todos os arquivos e impede que você receba ajuda no desenvolvimento e, em muitos casos, impede que sua ferramenta seja utilizada em produção por certas empresas.

/**
* @license 			http://neosphp.org/license Todos os direitos reservados - proibida a utilização deste material sem prévia autorização
*/

 

Tome muito cuidado com acoplamento em problemas de domínio. Ter foco e ter código acoplado são coisas distintas, compreenda a diferença e você verá a quantidade de erros grosseiros que existem no seu código.

 

Muito cuidado com design, suas classes violam praticamente todos os princípios de design e a parte MVC ignora totalmente o conceito de MVC.

 

:seta: Teste muito, um framework é algo muito complexo e delicado para se negligenciar os testes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma diferença muito grande, @NEOS, entre utilizar @fopen e @$var[$offset]. A função fopen vai disparar um E_WARNING ou E_NOTICE em diversas situações, e em outras um E_ERROR, como falha no sistema de arquivos e outros. Disparar o erro em vez de dar o controle ao desenvolvedor é uma falha da linguagem PHP e, por isso, você vai encontrar a função fopen com @ em muitos códigos de produção. Por outro lado, $var[$offset] com @ é claramente falha no código.

 

O grande problema em utilizar @$var[$offset] é que você irá, muito provavelmente, precisar daquele valor (afinal é uma view) e irá confiar que determinada variável possuirá tal valor. Em PHP não temos um NullPointerException, mas as consequências desse arroba, nesse caso, podem ser extremamente danosas à aplicação.

Eu me senti muito mau quando fiz uma relação de "falhas" no ZendFramework, em um post anterior. Me senti mau por que essa história de apresentar sempre o lado ruim das coisas não traz muito benefício e sim malefícios.

 

O NEOS tem problemas?! Claro que tem! E se não tivesse eu acharia estranho!

Problemas? Todo o sistema criado por seres humanos tem...

 

A própria necessidade de criação de um framework feito aqui no Brasil (o NEOS) provém disso: erros ou problemas encontrados nos principais frameworks "importados", idioma e acesso aos desenvolvedores prejudicado, compatibilidade forçada com versões e idéias antigas, extrema complexidade para iniciantes (principalmente), e algumas outras coisas que achamos ruim.

 

O NEOS não é restrito a um desenvolvedor ou grupo fechado de desenvolvedores. O NEOS está aberto para que qualquer pessoa (experiente/iniciante) o modifique, proponha mudanças, re-escreva classes, mude sua extrutura, faça o que quiser! Com isso, todos nós ganhamos! E isso é extremamente facilitado quando o idioma falado é o português. Nosso idioma aproxima ainda mais desde o 'expert' (como você) até o iniciante, talvez um pouco leigo, mas que pode trazer uma ideia que fará a diferença. A neosTag, por exemplo, foi uma proposta de um iniciante em programação que abriu um 'horizonte' de possibilidades que ainda nem conseguimos explorar por completo. Tem uma equipe criando um CMS com base no NEOS, outra iniciará em 2012 um LMS (Learning Management System) - tipo um Moodle...

 

Como já disse em um post anterior, o objetivo do tópico é uma discussão sobre:

 

  1. É interessante o uso de frameworks para desenvolvimento em PHP?
  2. É produtiva a criação de um novo framework, para atender ao público de língua portuguesa?

 

Nossa resposta é: Sim; sim!

 

 

Eu vi o código que está no trunk (btw, crie um branch para testar nova funcionalidade, isso aqui é absurdo) e, sinceramente, me deu arrepios. Eu tinha começado a listar aqui no tópico os códigos problemáticos e os problemas que identifiquei, mas acabei apagando pois ficou imenso. Se posso dar uma contribuição séria, apague tudo e comece novamente.

Por falar em "apagar tudo", se você puder resgatar da lixeira a listagem dos "códigos problemáticos e os problemas que identifiquei" (como disse acima), nos envie, por favor; como contribuição!!!

Quanto a apagar tudo e começar do zero, não creio que os colaboradores do NEOS vão querer faze-lo. Mas, se for realmente necessário, por que não?

Não somos partidários, defensores do "nosso código". Somos defensores da idéia.

 

 

Algo muito importante, se quer alguém colabore com o desenvolvimento, é encontrar uma licença adequada. O comentário abaixo está em todos os arquivos e impede que você receba ajuda no desenvolvimento e, em muitos casos, impede que sua ferramenta seja utilizada em produção por certas empresas.

A licença é algo que discutimos (e ainda não chegamos a um acordo) desde o início, desde a publicação do projeto. Acontece que algumas empresas precisam de uma licença GPL, outras Creative Communs, BSD e ainda ha os casos de termos que assinar uma declaração de isenção de custos (acho que é esse o nome). Empresas públicas são mais criteriosas e, nas poucas experiencias que tivemos, foi um tanto cansativo o processo. Quem tiver sugestões pode entrar em contato até o mês de Março(2012), quando fecharemos essa questão.

 

 

Tome muito cuidado com acoplamento em problemas de domínio. Ter foco e ter código acoplado são coisas distintas, compreenda a diferença e você verá a quantidade de erros grosseiros que existem no seu código.

 

Muito cuidado com design, suas classes violam praticamente todos os princípios de design e a parte MVC ignora totalmente o conceito de MVC.

Novamente eu apelo para a paciência e compreensão dos programadores mais antigos, acostumados (viciados) nos formatos antigos dos scripts PHP (e frameworks). Estamos trabalhando em algo novo; uma nova mentalidade em programação! Não somos leigos, como nos querem fazer parecer!

 

 

Teste muito, um framework é algo muito complexo e delicado para se negligenciar os testes.

Fazemos testes o tempo todo! O lançamento da versão 2 poderia ter sido feito desde Setembro, mas, como alguns (minoria) ainda não tinham enviado feedbacks (respeitamos muito a opinião de todos), deixamos para lançar oficialmente no início de 2012. Apesar disso, algumas empresas e desenvolvedores já trabalham (produção) com a versão 2 desde Junho, quando iniciou a fase beta.

 

Meu apelo:

Vamos focar no assunto do tópico!

Eu prometo que faremos um fórum no site do NEOS para discutirmos se o código é um lixo ou não.

Por enquanto, vamos discutir se é produtiva a criação de um framework em português ou se temos que usar o que vem de fora, sem reclamar, sem deixar que nossa própria criatividade interfira.

 

Acredito na capacidade dos brasileiros em produzir algo ainda melhor do que o que está por ai!

 

 

---

Compartilhar este post


Link para o post
Compartilhar em outros sites

É interessante o uso de frameworks para desenvolvimento em PHP?

 

É produtiva a criação de um novo framework, para atender ao público de língua portuguesa?

 

Nossa resposta é: Sim; sim!

 

Para a primeira pergunta, a resposta correta seria: Depende.

Depende dos requisitos do sistema, depende da equipe, depende do cliente, depende de várias coisas.

Para a segunda pergunta, concordo com a resposta: Sim, será sempre produtiva. Mesmo que ninguém venha a utilizar seu framework, tenha certeza que o tempo dedicado em obter o conhecimento necessário para desenvolvê-lo será sempre revertido à seu favor e de todos os colaboradores.

 

Quanto a apagar tudo e começar do zero, não creio que os colaboradores do NEOS vão querer faze-lo. Mas, se for realmente necessário, por que não?

Não somos partidários, defensores do "nosso código". Somos defensores da idéia.

 

:clap:

 

 

Por falar em "apagar tudo", se você puder resgatar da lixeira a listagem dos "códigos problemáticos e os problemas que identifiquei" (como disse acima), nos envie, por favor; como contribuição!!!

 

Sem problemas, mas vamos um por um em vez de todos de uma vez para não virar bagunça.

 

Vou aproveitar e "quotá-lo" antes:

 

Estamos trabalhando em algo novo; uma nova mentalidade em programação! Não somos leigos, como nos querem fazer parecer!

 

hehehe, uma coisa é ter uma "nova mentalidade", outra é o fragmento abaixo, que fala por si só.

 

<?php
//...
class Controller_Inicial
   	extends NEOS {

//...
	//Mostra as páginas do manual
   	function manual($st1='',$st2='',$st3='')
   	{ 

   		//...
   		$q = _db::query('SELECT CON_CONTEUDO,IND_ID,IND_TITULO
   			FROM INDICE,CONTEUDO
   			WHERE (UPPER(IND_LINK)="' . $link . '" OR IND_ID="' . $st1 . '")
   			AND IND_ID=CON_ID
   			AND IND_CAT=1');

   		//...
   		viewVar('tools','<span class="tools">
   				<input type="submit" id="salvar" onclick="return submitConteudo()" value="" title="Salvar auterações"/>
   				<input type="button" id="cancelar" value="" title="Cancelar a edição"/>
   				<input type="button" id="editar" value="" title="Editar..." />
   				</span>');
   	}
//...

 

Fazemos testes o tempo todo!

 

Perguntei porque não encontrei testes unitários no repositório. É algo interessante de se manter lá pois, além de garantir a qualidade da ferramenta, permite que outros desenvolvedores trabalhem nesses testes para aprimorá-los e garantir uma cobertura maior do código.

 

Sem contar que qualquer adição ou modificação em um código precisa ser testada, se não houver uma política de testes bem definida, em um desenvolvimento colaborativo você poderá perder o controle do repositório e, consequentemente, da qualidade da ferramenta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nós ganhamos! E isso é extremamente facilitado quando o idioma falado é o português. Nosso idioma aproxima ainda mais desde o 'expert' (como você) até o iniciante, talvez um pouco leigo

 

cara é normal o programador aprender ingles, td é em ingles livros, manuais, comandos etc. chega a ser estranho programar em portugues, tipo:

 

obterNome();

 

agora se o cara n puder aprender meia duzia de palavras em ingles....pra aprender a programar......n tem jeito....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se contar que, se você optar por comentar teu próprio código em inglês, invariavelmente vai acabar aprendendo ou aperfeiçoando os conhecimentos de outro idioma.

 

Não que você vai sair falando inglês mundo afora, mas não vai morrer no "The book is on the table..."

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara é normal o programador aprender ingles, td é em ingles livros, manuais, comandos etc. chega a ser estranho programar em portugues, tipo:

 

obterNome();

 

agora se o cara n puder aprender meia duzia de palavras em ingles....pra aprender a programar......n tem jeito....

 

Se contar que, se você optar por comentar teu próprio código em inglês, invariavelmente vai acabar aprendendo ou aperfeiçoando os conhecimentos de outro idioma.

 

Pessoal, é irrelevante o código dele ser em português, inglês ou qualquer idioma. É importante apenas manter um padrão (tudo em inglês, tudo em português, etc), mas se ele quer escrever o código e comentários em português, isso não aumentará ou diminuirá a qualidade da ferramenta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que os nomes dos métodos/variaveis/classes/comentários não deveriam alternar entre portugues/ingles..

 

sugiro deixar de lado o mysql_, e implementar somente mysqli

Compartilhar este post


Link para o post
Compartilhar em outros sites

As suas propagandas falam muito em um "framework brasileiro" mas o nome em nada lembra algo nacional. É uma palavra em português?

Depois de ler o tópico inteiro fiquei com vontade de ver os fontes.

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, é irrelevante o código dele ser em português, inglês ou qualquer idioma. É importante apenas manter um padrão (tudo em inglês, tudo em português, etc), mas se ele quer escrever o código e comentários em português, isso não aumentará ou diminuirá a qualidade da ferramenta.

 

o cara q ta falando, q um beneficio o framework ser em portugues.......

Compartilhar este post


Link para o post
Compartilhar em outros sites

o cara q ta falando, q um beneficio o framework ser em portugues.......

 

Sim, eu vi.

 

Agora me diga, em que o conteúdo abaixo vai contribuir com o código, com a ferramenta ou com o tópico em geral:

 

cara é normal o programador aprender ingles, td é em ingles livros, manuais, comandos etc.

 

Ou

 

chega a ser estranho programar em portugues, tipo:

 

obterNome();

 

Ou

 

agora se o cara n puder aprender meia duzia de palavras em ingles....pra aprender a programar......n tem jeito....

 

:natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com vocês! :worship:

É realmente necessário saber inglês para programar.

 

Defendo, aqui dentro da comunidade do NEOS (agora estou falando por mim mesmo :P), que nos códigos deve ser usado o inglês (variáveis, funções, nomes de classes, etc).

 

Porém, quanto aos comentário (nos arquivos de código) e nos relacionamentos entre os desenvolvedores do NEOS, o uso da linguagem nativa (português) pode ser mais produtivo. Acontece que uma maioria não consegue se expressar bem em inglês e, como temos o objetivo de trabalhar com público de língua portuguesa...

 

Se, no futuro o NEOS PHP Framework "navegar" por outras terras, não penso que teremos dificuldade em traduzir (se for necessário) os comentários; apenas.

 

Algumas classes ainda estão usando termos em português - resquícios da fase nacionalista do início do desenvolvimento :blush:. Vamos acertar isso em breve!

 

Acredito que os nomes dos métodos/variaveis/classes/comentários não deveriam alternar entre portugues/ingles..

 

sugiro deixar de lado o mysql_, e implementar somente mysqli

Mysqli é interessante!

Lembrando que (como já disse em outro post) preferimos que o desenvolvedor, usuário do NEOS, use o PDO. As classes de conexão a banco de dados disponíveis no NEOS são para casos em que o PDO esteja desativado.

 

 

As suas propagandas falam muito em um "framework brasileiro" mas o nome em nada lembra algo nacional. É uma palavra em português?

Estamos discutindo exatamente isso (o nome) na comunidade de desenvolvedores!

Talvez criemos um tópico em "iMasters Fóruns -> Brainstorm" para receber sugestões de nomes "brasucas" :P .

Compartilhar este post


Link para o post
Compartilhar em outros sites

na ficou mto claro isso.......

 

Esses sites foram desenvolvidos pelo Zurox, um dos colaboradores mais ativos do NEOS:

http://www.saredrogarias.com.br

http://www.2ccseguranca.com.br

http://www.starfarma.com.br/

 

 

esse site foi feito COM o neos ou feito por um colaborador??

Compartilhar este post


Link para o post
Compartilhar em outros sites

na ficou mto claro isso.......

 

esse site foi feito COM o neos ou feito por um colaborador??

Foi feito pelo Zurox, um dos colaboradores do projeto, e usando somente o NEOS(PHP).

Compartilhar este post


Link para o post
Compartilhar em outros sites

vocês fazem dinheiro com o FW?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vocês fazem dinheiro com o FW?

 

Tem como? :o

 

Desde o início o NEOS é totalmente gratuito. Não pensamos em ganhar dinheiro com o desenvolvimento do framework. Se observarem, em nosso site, não temos propagandas! A manutenção do site no ar é feita por um dos colaboradores, a programação por outro e o design por um terceiro colaborador.

 

De forma indireta, pensamos que ganharemos se a ferramenta produzida nos proporcionar maior produtividade em nossos trabalhos - os colaboradores trabalham com programação, webdesigner, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como? :o

 

Sim,

 

Se você tiver uma boa ferramenta, que de fato possa promover uma redução do custo operacional à uma empresa, você pode ganhar com serviço de suporte, migração, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.