SlideShare une entreprise Scribd logo
1  sur  20
RamazeAlternative Ruby Framework(ra-ma-ze) andrei@proudcloud.net
My Background Used Ramaze in 2009 as an alternative to Rails Heterogenous team of developers Some ruby first-timers Problems/resistance with Rails conventions Built a production app serving 10k+ users
Ramaze Simple, light, modular web framework MVC Agnostic Database/ORM (no default) Templating (default Etanni) Based off of Nitro No set structure prototypes Dependency: Rack
Installation http://github.com/ramaze/ramaze Maintained by 4 guys gem install ramaze Innate Core RamazeInnate  Rack Innate = Sinatra, Ramaze = Padrino
Hello World Listing 1: hello.rb Simple. One file(4kb) vs Rails (900kb).
Run ramaze start ruby hello.rb thin start Pow, Passenger, Mongrel etc Rack based
POLS Principle of Least Surprise Law of Least Astonishment It should work because I made it work No “magic”
Freedom No set structure for organizing your files Flexible BUT: Could lead to messed up code Use what makes most sense to you (and your team) Sensible defaults Prototypes ramaze create project
Views Listing 2: view/index.rhtml (using Erubis)  By default Ramaze looks for the template in the path called ‘view’, but can be overriden via setting Ramaze.options.views = ‘view_path’ Add @message in controller You could also add inline views in your really wanted to.
Models Use any ORM Sequel Active Record Standalone classes
Models (cont.) Simple Model: in hello.rb *Modify controller to use this
Organizing your code Use prototype Allows opportunity to refactor and build our code as we go along Ex: Remove model and controller from hello.rb into separate files Ramaze.acquire – broken in 1.9.2 as of 5/2011
Routing controllers/another_controller.rb Looks for views in ‘view/bye/’ view_path/route_name
Routing (cont.) You can also specify routes via configuration regex routes
Other Stuff Layouts Placed in view path Just call layout ‘layout_name’ in controller to set Helpers paginate user flash https://github.com/Ramaze/ramaze/tree/master/lib/ramaze/helper Middlewares
Great things about Ramaze Low memory usage Cheaper than Rails Uses 60% less memory vsPadrino Freedom Simple codebase Focus on Ruby, rather than the framework
Cons Outdated documentation Slightly slower compared to Padrino Can’t use Rails specific gems You can but with slightly more work
Still Great Things Good community Freenode #ramaze Google groups Know exactly what your code does Know where to place/find your code (because you organized it)
Conclusion Great to use for smallish projects When server memory is an issue Great way to help transition developers from other technologies who are used to their “own way of doing things” Let’s you focus on Ruby Good alternative to Rails, use it when you are sick of Rails In the end, Ramaze, Rails, Sinatra are tools: It’s what’s in your heart that counts, use frameworks that make you happy.
END Questions?

Contenu connexe

Tendances

Tendances (8)

DrupalCamp SP 2015 - Escalando PHP e Drupal- Performance ao infinito e além!
DrupalCamp SP 2015 -  Escalando PHP e Drupal- Performance ao infinito e além!DrupalCamp SP 2015 -  Escalando PHP e Drupal- Performance ao infinito e além!
DrupalCamp SP 2015 - Escalando PHP e Drupal- Performance ao infinito e além!
 
Galera Mysql
Galera MysqlGalera Mysql
Galera Mysql
 
Performance on Rails
Performance on RailsPerformance on Rails
Performance on Rails
 
Drupal Performance
Drupal PerformanceDrupal Performance
Drupal Performance
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
 
Caching strategies with lucee
Caching strategies with luceeCaching strategies with lucee
Caching strategies with lucee
 
Lucee writing your own debugging template
Lucee   writing your own debugging templateLucee   writing your own debugging template
Lucee writing your own debugging template
 
Lucee writing your own debugging template
Lucee   writing your own debugging templateLucee   writing your own debugging template
Lucee writing your own debugging template
 

Similaire à Ramaze

Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
pmashchak
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
Ashok Modi
 
Railswaycon 2009 - Summary
Railswaycon 2009 - SummaryRailswaycon 2009 - Summary
Railswaycon 2009 - Summary
daniel.mattes
 

Similaire à Ramaze (20)

DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Rails Concept
Rails ConceptRails Concept
Rails Concept
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Introduction To Rails
Introduction To RailsIntroduction To Rails
Introduction To Rails
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
 
An introduction to Rails 3
An introduction to Rails 3An introduction to Rails 3
An introduction to Rails 3
 
Ramaze
RamazeRamaze
Ramaze
 
Intro ror
Intro rorIntro ror
Intro ror
 
Ruby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User GroupRuby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User Group
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Ramaze - The Underrated Ruby Web Framework
Ramaze - The Underrated Ruby Web FrameworkRamaze - The Underrated Ruby Web Framework
Ramaze - The Underrated Ruby Web Framework
 
Aspose pdf
Aspose pdfAspose pdf
Aspose pdf
 
Ruby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby MeRuby On Google App Engine 2nd Athens Ruby Me
Ruby On Google App Engine 2nd Athens Ruby Me
 
Ruby on rails for beginers
Ruby on rails for beginersRuby on rails for beginers
Ruby on rails for beginers
 
Railswaycon 2009 - Summary
Railswaycon 2009 - SummaryRailswaycon 2009 - Summary
Railswaycon 2009 - Summary
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby on Rails introduction
Ruby on Rails introduction Ruby on Rails introduction
Ruby on Rails introduction
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Ramaze

  • 2. My Background Used Ramaze in 2009 as an alternative to Rails Heterogenous team of developers Some ruby first-timers Problems/resistance with Rails conventions Built a production app serving 10k+ users
  • 3. Ramaze Simple, light, modular web framework MVC Agnostic Database/ORM (no default) Templating (default Etanni) Based off of Nitro No set structure prototypes Dependency: Rack
  • 4. Installation http://github.com/ramaze/ramaze Maintained by 4 guys gem install ramaze Innate Core RamazeInnate  Rack Innate = Sinatra, Ramaze = Padrino
  • 5. Hello World Listing 1: hello.rb Simple. One file(4kb) vs Rails (900kb).
  • 6. Run ramaze start ruby hello.rb thin start Pow, Passenger, Mongrel etc Rack based
  • 7. POLS Principle of Least Surprise Law of Least Astonishment It should work because I made it work No “magic”
  • 8. Freedom No set structure for organizing your files Flexible BUT: Could lead to messed up code Use what makes most sense to you (and your team) Sensible defaults Prototypes ramaze create project
  • 9. Views Listing 2: view/index.rhtml (using Erubis) By default Ramaze looks for the template in the path called ‘view’, but can be overriden via setting Ramaze.options.views = ‘view_path’ Add @message in controller You could also add inline views in your really wanted to.
  • 10. Models Use any ORM Sequel Active Record Standalone classes
  • 11. Models (cont.) Simple Model: in hello.rb *Modify controller to use this
  • 12. Organizing your code Use prototype Allows opportunity to refactor and build our code as we go along Ex: Remove model and controller from hello.rb into separate files Ramaze.acquire – broken in 1.9.2 as of 5/2011
  • 13. Routing controllers/another_controller.rb Looks for views in ‘view/bye/’ view_path/route_name
  • 14. Routing (cont.) You can also specify routes via configuration regex routes
  • 15. Other Stuff Layouts Placed in view path Just call layout ‘layout_name’ in controller to set Helpers paginate user flash https://github.com/Ramaze/ramaze/tree/master/lib/ramaze/helper Middlewares
  • 16. Great things about Ramaze Low memory usage Cheaper than Rails Uses 60% less memory vsPadrino Freedom Simple codebase Focus on Ruby, rather than the framework
  • 17. Cons Outdated documentation Slightly slower compared to Padrino Can’t use Rails specific gems You can but with slightly more work
  • 18. Still Great Things Good community Freenode #ramaze Google groups Know exactly what your code does Know where to place/find your code (because you organized it)
  • 19. Conclusion Great to use for smallish projects When server memory is an issue Great way to help transition developers from other technologies who are used to their “own way of doing things” Let’s you focus on Ruby Good alternative to Rails, use it when you are sick of Rails In the end, Ramaze, Rails, Sinatra are tools: It’s what’s in your heart that counts, use frameworks that make you happy.