|
Ruby on Rails started with a “bang” on great deal of quick and simplicity for rapid agile development. Then the ecosystem grows fast and strong. People start adapting Ruby on Rail based on the good amount of reusable “stuffs”. The DRY (don’t repeat yourself) concept really makes RoR HOT. Let’s see what Flex can learn from these reusable “stuffs”.
gem :: the Gem is actually Ruby way of extending the core Ruby engine with more functions and features. All other opensource scripting language such PHP or Perl have something like this. A gem is installable module and can be managed by the ruby utility, gem. There are standard way of distribute it, using repository, etc. Mapping it to Flex, we need something similar for ActionScript level extension sharing system. Do we have it? Maybe not yet. Adobe can play a important role on this. It’s all about a healthy ecosystem, for all tools using ActionScript.
Rails Engine :: This is the rails extension right into the Rails guts. Not a recommended way of sharing. We don’t want to directly change the Flex framework. Adobe of cause can play with it to provide more integrated extension (like the Charting).
Rails Plugin :: This is the best part of Rails. Similar to gem for Ruby, Plugins give clear and clean extension to Rails, with standards for plugin development, distribution and management. To Flex, the developer community really needs a way to share reusable code, not in the copy-paste way. Yes, from either Flash or Flex, you can build component for sharing, but it just seems this traditional “VB control” approach is not that community friendly anymore.
Rails Component :: Forget about this.
Rails Helper :: Helpers keep Rails view (UI) lean and clean and DRY. While Plugin could cover all part of MVC, Helper helps mainly for the view. The management and distribution of Helper is loosely like sharing lib, or just tag along with a Plugin. Since Flex/Flash is very visual, there could be room to share effects, theme, skin the Rails helper way.
Anyway, Flex is not Ruby or Ruby on Rails. Copy and Paste is no sure way to build a healthy ecosystem. However, all the popular opensource language or frameworks did it, might as well Flex. How do you think?