alexmgarcia Posted April 22, 2013 at 01:35 PM Report #504322 Posted April 22, 2013 at 01:35 PM Olá, Preciso de escolher uma framework MVC para desenvolvimento de um backoffice em que depois pretendo também fornecer uma API REST. Pensei em Play! pois não me ia obrigar tar a aprender uma nova linguagem mas apenas detalhes da framework mas no entanto consome muitos recursos pelo menos em desenvolvimento (cheguei a ter pelo menos 600mb de ram em uso pelo java), e torna-se pouco prático estar a reiniciar o servidor de desenvolvimento de tempos a tempos. Pondo isto de parte estou com dúvidas entre três frameworks: CakePHP, Ruby on Rails, Django Estive a fazer umas pesquisas e muitas comparações que encontro são de versões antigas das frameworks e precisava de uma opinião mais "actual". CakePHP ia-me fazer ler qualquer coisa de PHP (a nível de sintaxe estou habituado à sintaxe C-like); Ruby on Rails já trabalhei, mas foi tudo muito à pressa e há aspectos do Ruby e mesmo do Rails que não assimilei (e também tem o facto de não estar habituado à sintaxe do Ruby); Django nunca trabalhei, mas há uns anos trabalhei um pouco com Python (mas tinha de ler de novo documentação deste). Tendo em conta que não tenho muito tempo para despender nisto (aprendizagem + programação), o que aconselham das três frameworks por mim aqui descritas tendo em conta rapidez de desenvolvimento e consumo de recursos?
yoda Posted April 22, 2013 at 02:31 PM Report #504329 Posted April 22, 2013 at 02:31 PM Kohana é uma framework bastante rápida a nível de produção e desenvolvimento assim que entendes como funciona, é a que melhor se assemelha ao que realmente se passa num ambiente web a nível de nomenclaturas e procedimentos. CakePHP é, para mim, como a maioria das frameworks : além de teres de aprender como funciona, tens de aprender que nomes dá a coisas que têm já o seu nome. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
I-NOZex Posted May 30, 2013 at 01:58 PM Report #509830 Posted May 30, 2013 at 01:58 PM Eu comecei a brincar com YII e recomendo, muito extensivel, rapida, no entanto acho que a sua aprendizagem é um pouco demorada... mas virando para a tua pergunta sobre essas 3, ou ruby ou cake, isto a pensar a nivel de comunidades e documentaçao, em web so trabalho com php, mas sei que uma altura fui espreitar ruby on rails e pareceu-me ter uma otima documentaçao... B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
yoda Posted May 30, 2013 at 07:45 PM Report #510045 Posted May 30, 2013 at 07:45 PM Há também a questão se o @OP quer uma versão web do MVC ou uma arquitectura mais realista, que nas frameworks não é hábito (pelo menos não conheço nenhuma que o faça). Por exemplo, numa real aplicação MVC é impensável as Views conterem markup, ou os Models serem responsáveis pela lógica do domínio. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
I-NOZex Posted May 30, 2013 at 09:29 PM Report #510068 Posted May 30, 2013 at 09:29 PM Há também a questão se o @OP quer uma versão web do MVC ou uma arquitectura mais realista, que nas frameworks não é hábito (pelo menos não conheço nenhuma que o faça). Por exemplo, numa real aplicação MVC é impensável as Views conterem markup, ou os Models serem responsáveis pela lógica do domínio. sem querer criar offtopic, podes explicar isso melhor? poderá tambem ser uma duvida que o autor vá ter, ou entao responde em pm, gostaria que explicasses melhor o que te referes nesses 2 ultimos pontos B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
yoda Posted May 31, 2013 at 12:43 AM Report #510111 Posted May 31, 2013 at 12:43 AM (edited) O PHP não é realmente orientado a objectos, permite apenas um interface semelhante para atingir tal objectivo. Por essa razão, e por força da usabilidade e facilidade de compreensão, o MVC em aplicações / frameworks web foi adaptado por várias pessoas ao longo dos tempos dando origem a muitas das frameworks que se intitulam MVC, porém o MVC é mais "complexo" que a ideia da maioria. Vou só deixar uma introdução ao assunto, que deve deixar nomes suficientes para procurarem na net. ######### Numa aplicação estruturada com o padrão MVC existem 2 camadas : Presentation e Model. Na camada Presentation encaixam-se os Controllers e Views, responsáveis pela apresentação da informação. Funcionam ambos numa relação 1:1, o que faz com que exista uma View por Controller. O Controller faz aquilo que o nome diz apenas, enquanto que a View, capaz de lidar com várias peças de Template, recolhe informação da camada Model e define o necessário. A camada Model é responsável pela lógica do domínio, sendo esta escalada na aplicação em 3 partes : Domain Objects, Data Mappers e Services. Domain Objects : responsáveis pela lógica restrita ao domínio, onde ocorrem as validações, cálculos, etc; Data Mappers : responsáveis pelo armazenamento de informação (semelhante ao que acontece com o conceito popular de Model em que os atributos / SQL é definido / formatado para ser usado); Services : responsáveis pelo cruzamento de dados entre Domain Objects e Data Mappers. São, por assim dizer, a parte mais "pública" da aplicação, função que na maioria das frameworks é tida pelos Controllers. ######### Por alto é mais ou menos isto. Vale dizer que não existe realmente uma definição de MVC, e mesmo que existisse a evolução irá sempre trazer novas interpretações do mesmo objecto, mas de tudo o que li e experimentei este foi o conceito que mais sentido fez, apesar de mais confuso. Edited May 31, 2013 at 01:23 AM by yoda 1 Report before you post, what have you tried? - http://filipematias.info sense, purpose, direction
I-NOZex Posted May 31, 2013 at 10:31 AM Report #510173 Posted May 31, 2013 at 10:31 AM obrigado pelo esclarecimento, é sempre bom aprender mais um pouco 😄 na tua opiniao, qual a framework php que melhor aplica essa definição de MVC ? B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
yoda Posted May 31, 2013 at 04:48 PM Report #510300 Posted May 31, 2013 at 04:48 PM Penso que todas elas usam mais ou menos o mesmo conceito de MVC, muda pouco. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
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