As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'd like to use ZF2 for an upcoming project. However, I find it really hard to understand the few tutorials that I've found out there. Most of them just tell you to put stuff in files without really explaining what everything is or any other option I may have.
Is there any book or tutorial for an absolute zf beginner?
Well, I started using Yii until ZF2 is released.
Yii has just amazed me. In two days I've been able to start building something. It is dead simple, yet powerful. They have great documentation and the framework is very easy to understand and use if you have a good knowledge of MVC and SQL. The documentation on their site is also very good. There are tutorials for absolute beginners. That I liked.
Zend may be a more robust and powerful framework, but it's tediously painful to learn. It lacks the simplicity of Yii. I went nuts trying to understand all those configuration lines.
I followed every tutorial recommended in this thread for two weeks and gave up. Telling someone to just enter some code without explaining what it means or how it can be tweaked is not a good way to teach and promote a framework.
I'll pick up ZF2 when it's released. I hope they make it friendlier. I hope the documentation also improves and goes from simple to complex examples. I really want to learn the ZF.
There are a number of articles you could read that could help:
Official documentation - has useful stuff - especially the view quick start
View Layers, Database Abstraction, Configuration, Oh, My! - Good intro to View Layer & Db
Getting started writing ZF2 modules - Good intro to modules
Modules in ZF2 - Another intro to modules
Using the ZF2 EventManager - introduction to event manager
PHP Constructor Best Practices And The Prototype Pattern - Zend\Db\ResultSet uses this
Using the ServiceManager as an Inversion of Control Container - How to use Zend\ServiceManager
Zend\ServiceManager configuration keys - Useful Zend\ServiceManager information
Also, these blog categories have useful info:
Matthew Weier O'Phinney's ZF2 articles
Rob Allen's ZF2 articles
Matthew Setter's Master Zend Framework
Books:
Slavey Karadzhov's Learn ZF2
Matthew Setter's Zend Framework 2 for Beginners
For source code:
http://modules.zendframework.com/
https://github.com/akrabat/ZF2TestApp
Rob Allen ZF2 tutorial is now part of the official docs: http://packages.zendframework.com/docs/latest/manual/en/user-guide/overview.html
Also see this post https://stackoverflow.com/a/8894828/760703
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What do you think about both?
I began reading a book about Catalyst, and found it pretty complex as compared to Dancer.
so now I'm giving Dancer a try, and it looks easier to learn and more "human friendly".
I think David's comment is very accurate and excellent. However, as someone who has done development in both but is not a developer on either perhaps I can be slightly more objective (and technical) in what the differences are.
Both frameworks provide a variation on the Web MVC paradigm.
Catalyst's main level of abstraction is the Controller. Catalyst expects you to break separate logic out into separate packages in some logical fashion (Login code goes here, Registration code goes there, Search functionality over here). This works incredibly well if you have a team of programmers since each of you can work on separate files and not step all over each other during merges. Catalyst provides a lot of tools for making the Controller logic extensible and flexible, I think the premier example of this is Chained actions which let you split up and build a complex flow for any given request. The downside is that it becomes very seductive to put your business logic into the Controllers and you end up with very fat logic in the Controllers where it (theoretically) belongs in the Model.
Dancer's main level of abstraction is the Route. My experience with Dancer is this leads to much smaller applications. Partly my experience here is tinged with the fact that I have dealt with several thousand line applications in Catalyst but I have yet to write a Dancer app that is longer than 200 lines (with a much smaller scope). I think however that this experience holds true. The push in Dancer is in keeping the Controller logic very thin because it doesn't have the same tools for managing complex behaviors there that Catalyst does.
Honestly I've enjoyed working in both of them. They both provide different opinions on what writing a web application is supposed to be. I would, given the time and inclination, recommend learning both ultimately.
This is a somewhat subjective question, but I'll try to give you an answer in an objective way. First things first, a disclaimer: I'm part of the Dancer development team, so my opinion should of course be considered somewhat biased :)
Catalyst is more widely used than Dancer, and so there's more community support behind it - if you were to look for contractors with experience working with either framework, say, you'd be more likely to find developers who've used Catalyst. So, if you're looking for commercial support, that would be a good reason to choose Catalyst.
Dancer is a younger project, and targeted more towards smaller projects, making getting up and running quick and easy, and trying to stay out of your way. That's not to say that Dancer isn't suitable for larger projects, however; the same habit of staying out of your way means you can organise your project in the way that suits you.
However, it has picked up a lot of support, and there's a growing community of helpful users and developers on IRC and the mailing list, and more and more useful plugins being released all the time. As with Catalyst, Dancer is designed so that you can pick and choose your preferred template engine, session storage backend etc, and it's easy to extend the framework by writing your own plugins if you need to.
For user testimonials to see what people say about Dancer, see the section at the bottom of the homepage on the new website: http://www.perldancer.org/
In the interests of showing other options, there's also Mojolicious, another modern Perl web framework which has been gaining in popularity lately.
Catalyst provides the same abstraction that Dancer does, Dancer's strength or rather Catalyst's weakness or rather Dancer's weakness is in how Catalyst forces the developer to adhere to Perl OO best practices and the MVC design pattern. After doing webapps for a while, this will all become apparent.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
My team and I are beginning to plan the development of a modular application which will likely multi-target WPF & Silverlight.
I personally have some experience using the older version of PRISM to build a composite Silverlight app using the MVVM pattern. We weren't familiar with MEF at the time for handling the various module dependencies, so we didn't use it.
We aren't married to any particular framework, but want to use one of the bigger players out there. As such we've begun to examine Caliburn/Caliburn Micro, Prism, MVVM Light and Reactive UI.
Most of what I've read for modularity suggests PRISM and MEF to handle that part of the process. As I'm still wrapping my head around some of this, I'm not sure if I'm missing some obvious options. I was able to find this article on Caliburn Micro and MEF.
Can anyone point me to similar articles using some of the other frameworks to compose a composite app similarly to the way PRSIM uses Regions, etc? Ideally, I'd like to limit the number of frameworks needed while providing maximum flexibility. We aren't averse to taking a "best of breed" approach and using for example MEF/PRISM to handle the compositing and MVVM Light for the View management, etc; but why use 2 when 1 will do?
One thing you should probably do first is isolate these into their appropriate buckets. I see this a lot where people will mix MVVM frameworks with application composition frameworks. Once you have them in the appropriate buckets you can start to pick one framework from each category and combine them into what you consider to be the best scenario.
Application Composition
Prism (using any IoC container: MEF, Unity, Ninject, Autofac, etc. There are a few things that make MVVM easier with Prism, but I wouldn't call it a fully featured MVVM framework... it's primarily a modular application composition framwork.)
MEF (MEF is actually able to do application composition out of the box. It's often dismissed as just an IoC framework, but it is deceptively powerful.)
MVVM Frameworks
ReactiveUI (my favorite)
Caliburn
Caliburn Micro
MVVM Light
This will help you make a decision, I think. You can pick and application composition technology you like and an MVVM framework you like and be off and running to the races.
As for articles, I don't have too many. There are a lot of good articles on application composition with Prism (that's pretty much its job), but here is a good article on application composition with MEF by itself:
http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/08/11/wpf-mef-declarative-composite-ui.aspx
You should also check out Glenn Block's series "Building HelloMEF" on his blog. I couldn't find a comprehensive list (he wasn't consistent with his tagging), but here is the "MEF" tag. Lots of good stuff here:
http://blogs.msdn.com/b/gblock/archive/tags/mef/default.aspx?PageIndex=1
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Can someone give me some insight on a scenario like this.
Say a company has en existing Joomla site, not complete but just has all the modules, plug-ins, and components installed that they believe they will need.
If someone new where to come in and given the general idea of what the site needs to do, and by accomplishing this they need to make sure all plug-ins share data between each other update information between each other when ever one module is updated. As well as fixing and modifying the template to take shape and form of how they envision the site to be interacted with.
Would jumping into this project be more trouble than its worth? Would creating something from the ground up using custom developed pages rather than using Joomla as a back-end/front-end be too much of a hassle.
Also given that the existing installation has 301 tables to sot through.
Joomla is more than just a CMS, it is also a pretty solid "Development Framework". Modifying existing software will be faster rather than developing from scratch, especially if it is that big.
Read more about Software Development Process, it will help you with your evaluation. As far as I remember development cost is 2x less $ than maintenance in first 5 years.
Starting from the ground up can be not such a good idea for a large project. Working with another framework will result in "reinventing the wheel" and introduce new problems and will require more time for user acceptance.
I know too little to point you in the right direction... 1st of all Joomla is terrific choice, object oriented, it is extensive and very powerful. MVC architecture is huge plus. Plug-in system is easy and extensive. Modules are easy and customizable.
I suggest using Zend Framework if you want to "reinvent the wheel". ZF is exceptional choice but your cost will be MUCH higher. You will have all similar functionality and features like in Joomla: OO, MVC, singletons, layouts, placeholders, modules (components), plug-ins, etc... Comparing ZF to Joomla's "Development Framework" is like comparing Ferrari to Honda Civic.
Long story short: I would try to stick with Joomla and create my library extending Joomla's classes... this will help automating a lot of things (reduce code, etc...). If I was to give a quote to the client I would try to see what they want/their experiences with existing project (check with their IT department, etc). If experience was horrible from day 1 and it was because of software and not hosting/db/hardware/network/etc then I would give 2 quotes: 1st for recreating in Joomla, 2nd for recreating in Zend... and explain strength/weaknesses of both. If software behaved 'OK', with minor to medium problems/bugs/errors I would reuse existing project.
Hope this helps...
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am developing a gwt project and am looking for an appropriate server side technology.
it should support be open source and support user login (and not using openID...) with password recovery etc
it seems that the de-facto standard would be spring + hibernate. however, I am unfamiliar with neither of them and understand that the learning curve (especially for spring) is very high. gwt was quite easy to learn using GOOG's excellent online tutorials but the spring equivalent seem to impose lots of configuration files and deeper understanding of its internals.
so I am looking for a simpler server side technology to deploy my gwt app. I am definitely prepared to learn a new framework if necessary but not something that would take me 2 months just to understand the fundamentals...
any ideas...?
Spring Roo should get you started with a GWT app in no time. It even has scaffoling (like Rails) for easily generating code for views and models. Here is a good video that introduces Roo and here is a guide for the mandentory 10 minutes application that Rails pioneered years ago.
Also a cool thing about Roo is that it gets you started quickly while still doing everything correctly (i.e. integrate with Spring security, Hibernate, Maven, ...).
Edit: You could also try Vaadin (tutorial here) although I am unsure if that may be to simplistic for your needs.
You could have a look at Google AppEngine + GWT. It provides you a full development environment:
http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html
This post also provides some information on how to get started with Google Plugin for Eclipse, which supports GWT, Google AppEngine, etc.
I second using Google App Engine, especially the Java version as it integrates so easily with GWT. I am using it in this way right now. App Engine has well written and complete docs, similar to those of GWT.
A simple way to integrate the build processes is to (1) use the GWT code generator to generate the standard project tree and ant build process and then (2) read this article on integrating GAE/Java with GWT:
https://developers.google.com/web-toolkit/doc/latest/tutorial/appengine
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Yesterday I was reading some articles in this site while I stumbled on an article about this two new IoC tools. Which one should I learn first? Is there some specification about which one should be used when?
Neither Castle.Windsor or Spring.NET are new.
Castle Windsor have been around since late 2004
Spring.NET have been around since early 2006
They are two comparable DI Containers that essentially aim at providing the same services, so you don't need to learn one before the other, and neither do you need to consult any kind of specification on when to use which one.
I've been using Castle Windsor for about half a year and am generally happy with it. Spring.NET I have yet to look at, but it looks like it is very closely tied to the configuration system and doesn't support programmatic registration, and if this is true, that would be a major drawback in my eyes.
Castle Windsor and Spring.NET are not the only DI Containers available for .NET. Here's a larger list:
Castle Windsor
Spring.NET
StructureMap
Unity
Ninject
autofac
I'm one of the committers to Castle project (which includes Windsor) so I may be biased, but.
Windsor is very extensible, allows you to tune and bend it to your needs. It provides nice fluent registration API so that you don't have to write ton of XML. There are also tons of extensions that you can use to integrate Windsor with other frameworks, like ORMs communication frameworks (WCF, NServiceBus) etc.
Plus it has a very active and responsive community, so if you have any questions, they'll get answered fairly quickly most of the time.
I guess both are better in terms of configuration. No much difference but both are better than Unity framework. Why the hell you need marshalbyrefobject association in dependency control. But if we compare spring.net and Castle Windsor both are good. But question comes which one is complete container framework.
Like we need Aspects for validation on Dependency. So winsor utility fail. I guess it’s stupid to compare String.net with Castle Windsor or anything like such because all are utilities and spring is complete container framework. And all folks who say it’s heavy please check memory leak issues with all. It’s not spring or Castle Windsor , it’s stupid way of writing code.
So finally answer is if you need just DI use Windsor but if you need complete framework for any solution use spring.net.