I'm a PHP developer on Zend framework.
I'm checking ROR.
Can i get Ruby on Rails components List?
Like in ZF: http://framework.zend.com/manual/1.6/en/requirements.zendcomponents.html
For Rails there isn't any official list like the Zend one you linked. I use Google, or sometimes The Ruby Toolbox
The rails components are packed as gems, to get the full list of gems go to http://rubygems.org/gems
Then there are some sites like Ruby Toolbox that help you choosing by providing statistics about usage and development.
Gather a list of requirements and then search if there is already a gem providing that functionality.
In rails, the main components to be noticed are as:
configuration for your app
gems with specific version, required for your app(available at rubygems.org)
routes information for your app
scaffolding and generators in your app
three different environment for your app, as Development, Testing, Production
testing strategies for your app, like unit test, functional tests
Databases settings for your different-2 environments, and database engine like sqlite, mysql, postgres
server to run your app
management of your assests in app/assests folder
Methods to deploy your app and much more......
In addition, You should go through these slides
and this page also contains a lot info for important rails component.
Related
I have experience with Joomla and have modified and wrote some simple Joomla extensions. I don't have experience using one of the popular PHP frameworks (such as CakePHP), but I was thinking about using the Joomla framework because I'm familiar with Joomla. How would I use the Joomla framework for a software project instead of using regular Joomla and writing the extensions needed for it to extend it's capabilities? Thanks!
The basic idea is that you:
Get a copy of either the whole framework or just the packages you need+dependencies (from github or composer) or use the older copy that is shipped with the CMS,
Bootstrap your application (JApplicationWeb or JApplicationCli).
Write your code using the MVC structure provided.
The big difference with writing a totally independent application is that you are doing just that, you need to build everything in the application whereas in the CMS there are already a lot of things in place. (The good part of that is that you can make new code with no legacy concerns.) For example, if you look at the JIssues project you'll see that they had to think about things like authentication. So as you would expect writing a simple application is simple, writing a complex one is complex.
You can see many examples of framework applications around, ranging from the ones found in the CLI folder of your CMS installation to JIssues, and of course the three web applications in the CMS are all examples of applications on the framework.
The Joomla Framework is intended (among other things) to be the platform upon which you can build a web-application. The framework is like the frame of one of those motorcycles they build on "American Choppers." It provides the backdrop so that you can hit the ground thinking about your app without worrying about User Authentication, database connection, and a thousand other things like those that get in the way of bringing your app to its potential audience.
If you're trying to extend Joomla, the current edition is what you should be using.
Is ezComponent Workflow still actively being developed? I've downloaded their code and attempted to get everything working (using postgres db, php 5.4), but it continually fails with their sample code. That being said, are there any mature PHP based Workflow Engine implementations out there that you can recommend?
ezComponents are now known as Zeta Components.
See http://zetacomponents.org/ -- Quote: Zeta Components originally were developed by eZ Systems under the name "eZ Components" and was generously sponsored to the Apache Software Foundation for further development. Since 07/2010 the components are known as "Zeta Components"
This would explain why you're not seeing any updates to the main ezComponents site, because all new development work is being done under the Zeta Components project.
I've seen lots of videos and instructions on how to install zend framework on wamp and other similiar local host environments. I've also seen lots of references, including here, that mention you don't need to 'install' zend, it just needs to be included in the php files to work.
As I think I understand it, installing zend on localhost environments will allow you to utilize certain tools that for example automate the creation of projects and gets the most out of the framework. I'm assuming that to then use these projects in a web host environment, you simply need to upload a specific project's files and ensure the zend files are in place and included in the directories.
Are my assumptions correct? I'm still trying to grasp the basics of this one and haven't found clarifications in my google searches.
Everything you wrote is correct. It helped me to think of Zend Framework as a library of components rather than as a program you need to install. As long as your application has access to that library of components, Zend Framework is installed. This doesn't address any of the configuration tasks you'll need in Bootstrap and/or application.ini, but should clear up installation.
Regarding the automated creation of projects and project elements (controllers, actions, etc.) this feature is available via Zend_Tool and is typically used only during development, so it shouldn't come into play once you've ported from your localhost.
Automated creation of the projects is far not the main feature of Zend.
The majority of the php frameworks are about providing the best infrastructure for complying to MVC design pattern, about object relational mapping, security enhancements etc.
And yes, the whole project tree is what you'd need to carry around for deployments.
I am not sure if this is a stupid question or not.
I have been working with Mongodb and found myself writing the same logic in different applications for simple stuff like selecting collections and drop them etc.
If I made some classes based on the datamapper pattern using all the Mongodb functions would this be a basic SDK ?
If I am totally wrong could someone help me out in defining a SDK ?
I think you're creating a reusable library or if you are getting a bit more ambitious an application framework.
My understanding of an SDK is that it would have the tools (eg. compilers, WSDL pre-processors) necessary to develop applications, whereas the Runtime Environment would just have what you need to run the developed application. Contrast a Java JRE (VM, standard libraries) and JDK (compiler etc.) When we develop for specialised platforms (eg. smart phones) we often have in the SDK an emulation of the target platform to allow us to test our code on our workstation.
I don't think you should be concerned as to whether or not you are building a framework or an SDK, rather be concerned about if it will be useful to other developers. If you say to them: "download your standard Java JDK, + standard mongodb + my excellent framework) you may well help them a lot. I would view something such as Spring as having started like that, and look what happened to that.
Once you start packaging other stuff with your framework, with the objective of making the developers initial download simpler you buy into a world of maintenance issues, when will you release a new version of your package? What happens when fixes are needed for packages you include.
Software Development Kit
A software development kit (SDK or "devkit") is typically a set of development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform
I have a need to create a web2.0 application with the following features:
UI screens
Integrate with a forum framework
Integrate a blogging framework with the application
Real time chat application (Optional)
Integrate with a email server
Based on your previous experiences, please suggest good frameworks, toolkits, etc which can help me build this app quickly in with following criterion
ease of use
features richness
Can people suggest me the advantages/disadvantages of choosing GWT over Ruby on Rails.
Also if you believe any other platform like PHP is better please suggest me on that too.
Thanks
Try jRuby on Rails ... you get the ease of Ruby and Rails ... and all features and libraries of Java.
GWT is quite interesting in a sense that you can use on client-side regardless of the backend technology. So comparing it directly to Ruby on Rails isn't much fair because ROR is a full-stack solution (except javascript libraries for UI work). Still, in your case, if you want to use GWT, you should be clear with the following points:
You'r comfortable with Java
You app is purely web 2.0 (means no more than different pages than can be viewed as different modules)
Forum, mail server integration won't pose any difficulties
You have a bit more time for development
I would suggest that if any of the above points don't work out for you, then you should move to ROR. Now why I built a checklist based on Java? Because you'll find quick development tools like "Spring ROO"(yes, Spring Roo is the smartest code generator) and scalable, integrable, full-stack technologies like "Spring" in Java. And Spring supports the development of everything you've mentioned. And even if you think GWT won't suffice your needs(in terms of short development time) then you can easily go for JQuery and it's Spring glue library to develop UI stuff.
P.S: Spring Roo 1.1.0.M2 and GWT 2.1 have been integrated to reduce development time many folds but it's not production ready yet.
If you are into java: have a look at grails, its based on a bunch of well known java frameworks like spring and hibernate. You can combine Java business logic with easy to write groovy code.