Ruby: How to develop: locally or remotely

This documentation is part of the Development platform guide. You can view the complete guide here: Prepare your development platform to be pleasant and efficient.

👋 Welcome to the Stackhero documentation!

Stackhero offers a ready-to-use Ruby cloud solution that provides a host of benefits, including:

  • Deploy your application in seconds with a simple git push.
  • Use your own domain name and benefit from the automatic configuration of HTTPS certificates for enhanced security.
  • Enjoy peace of mind with automatic backups, one-click updates, and straightforward, transparent, and predictable pricing.
  • Get optimal performance and robust security thanks to a private and dedicated VM.

Save time and simplify your life: it only takes 5 minutes to try Stackhero's Ruby cloud hosting solution!

There are two popular approaches to Ruby development: setting up a local environment on your computer or using a cloud-based solution like Code-Hero. Each option carries its own advantages and challenges, so you can choose the one that best fits your needs and preferences.

Developing locally allows you to work offline without an internet connection. However, it may require extra time and effort to set up, especially if you are new to programming or when working with different tools and dependencies. You will also need to handle backups, work within the limitations of your computer's processing power, and ensure data security. Furthermore, local development restricts you to a specific device, which may limit your flexibility when accessing your projects on other devices.

In contrast, the remote cloud-based solution Code-Hero provides a preconfigured environment that is immediately ready for development. This platform features an intuitive Visual Studio Code fork interface and a wide range of built-in tools such as Git, Docker, Ruby, Rails, and more. One significant advantage of remote development is that the server is likely more powerful than your local machine, offering enhanced performance and resource availability. Additionally, because it is accessible via a browser, you can work on any computer, tablet, or phone, regardless of its operating system.

Moreover, with integrated tools like Docker and Traefik, setting up TLS encryption and using a real domain (for example, https://your-project.you.your-company.dev) is straightforward. This mirrors a production environment, resolving common challenges with external webhooks (GitHub, Slack, or Stripe), CORS, and other web services for a smoother development experience.

Ultimately, the choice between local and remote development depends on your personal preferences, technical skills, and project requirements.

To summarise:

  1. Local development (on your computer):

    • ✅ Works offline: Internet connection is not required
    • ❌ Limited resources: May have less processing power compared with remote solutions
    • ❌ Setup required: Manual installation and configuration of tools needed
    • ❌ Maintenance: Regular updates and backups have to be managed manually
  2. Remote development (on Code-Hero):

    • ✅ Ready-to-use: Tools are pre-installed and pre-configured for immediate development
    • ✅ Enhanced performance: Benefit from powerful CPU, RAM, and storage resources
    • ✅ Device flexibility: Accessible from any computer, tablet, or phone
    • ✅ External integration: HTTPS domain available for webhook interactions
    • ❌ Internet dependency: Requires an internet connection