Roots Discourse

Very new to Roots and have some questions

Hey folks, I was exposed to Roots.io last night and it was really intriguing since I’m creating wp websites in the traditional way.

I’m not a WordPress developer but I do build websites. I use the Elementor Pro Page builder to build a website which I find to be the easiest way to create beautiful websites instantly.

So, my questions are:

  1. Why build a website from scratch using a lot of coding instead of using Page builders. (I’m really curious about the pros and cons).

  2. It will be efficient to use Trellis and Bedrock and still designing a webpage using Page Builders?
    since I do want to have Local > Staging > Production structure where I don’t use it now and do my changes always on the production site (I know it’s stupid but I didn’t know any other way :slight_smile: )

  3. What will be the best way to get into the learning curve of Roots.io, since I have 0 experience with developing in general. I really don’t know how or where to start.

Thank you guys for all the help!

1 Like

First, I think it helps to understand Trellis, Bedrock and Sage:

  • Trellis is a local development and server deployment tools. It allows you to run a development environment on your local machine and automates deployment to your different servers (staging, production, etc).
  • Bedrock is a Wordpress boilerplate which uses modern dev tools and best practices. It’s essentially the core of Wordpress, but built with a modern architecture.
  • Sage is a Wordpress theme framework. It allows you to develop a custom theme using best practices common in modern web development.

So to your question:

  1. Though page builders are useful, they also have their limits. Sure they allow non-technical users to create page templates without having to code. But there are certain layout which the page builder won’t be able to achieve, and some features would be impossible to implement. An analogy would be buying a home. Some will appreciate the ease and simplicity of a pre-fab, while others will want to hire an architect to build it to their custom specifications.
  2. Yes. Trellis will manage your different dev environments and deployment. Bedrock will manage the Wordpress installation and plugins.
  3. The docs are a good place to start. I must warn you though, the learning curve is quite steep. Even as an experienced Wordpress developer, it took me a long time to really understand the Roots stack. There are a lot of edge cases which are not covered in the docs. That said, the community is amazing has helped me a lot.

There are a few things to note:

  • The Roots stack does not manage databases (backups, migrations, etc.) or your media content. You must implement a separate devops process for this. Some plugins like WP Migrate Pro are great for this.
  • While it’s quite easy to manage free Wordpress plugins with Bedrock, premium plugins are a bit tricky to handle out of the box.

Good luck!

1 Like

Thanks for the help, You right, the community here is great! Going to use them a lot :slight_smile:

So I just setup my first root project and have my first .dev wordpress site live.
I would still want to you Page builder because I find it very easy and very fast to create the results I’m looking for.
Will you still recommend me using Trellis and Bedrock instead of using some Wordpress hosting like WP Engine, or a plugin that creating a staging site or something similar?

First off, welcome to the community and thanks for taking an interest in Roots! @seb2point0 did a good job explaining the difference between the tools and answering your questions. I just want to chip in my thoughts as well, to help clarify what Roots is and how you can benefit from the tools we build.

From the homepage:

Tools for modern WordPress development.
Roots helps you build better WordPress sites.

This promise is for developers and those who benefit from the work of those developers. Roots empowers developers, because developers empower others. As a non-developer, you can totally benefit from Roots, however, you must either be working alongside a developer who is using Roots, using a platform which uses Roots underneath, or be willing to learn some code so you can use the tools themselves. In the first two cases, as a non-developer you won’t need to think about Roots, because developers or platforms who use Roots empower you to just do what you do best — build websites with page builders, not focus on the underlying code of the website. If you do decide to learn the necessary skills to use the tools themselves, I’d say Roots is an excellent community to learn (I’m biased), however, the required learning for the skills you will need to do to use the tools will need to take place through resources and support which Roots and this community does not provide.

It is your own decision, however, if I were in your situation I would opt to work alongside a developer or a team who empowered me to do the best at what I already did. I’m biased, but I’d wager that the Roots stack is the greatest set of tools for them to do that.

On page builders and the Roots stack

The tools which Roots build — Sage, Bedrock, and Trellis — are not at all incompatible with page builders or designed to replace page builders. In your case, Elementor Pro Page Builder is a plugin which can be used with Sage — our starter theme — however, Sage is a solution for custom theme development — a task which requires coding knowledge. If you don’t want to learn the skills to do that or are not working with a developer who can do that for you, you’d be better off using a theme which supports your choice of page builder out of the box.

If you are using Trellis, then you will be using Bedrock as well, however, you don’t have to use Sage as the theme alongside those two. You can work on top of Trellis and Bedrock with a theme which is already suited/compatible with Elementor Pro Page Builder or whatever page builder you choose to use.

One thing to note is that, within Bedrock, plugins are treated as software dependencies instead of something which non-developer users can freely install. You will either need to install the plugin the Bedrock way or work alongside a developer who would handle this for you.

On Trellis and Bedrock vs. fully managed WordPress hosting

Trellis and Bedrock is an attractive option for those with development knowledge or working alongside people who have that knowledge, because they provide a very maintainable and secure WordPress install on a server which is specifically designed to host it for a very affordable price if hosted on a VPS (usually anywhere as low as $3.50-5.00 USD per month). That pricing is attractive, however, you ought to know that you are required to maintain and manage your own server and that cost will depending on your own capability to handle that task. There is no guaranteed support; the community here is an excellent aid, but we help out here out of the goodness of our hearts.

Roots is not just for developers

I don’t want you to feel like because you are not a developer that you cannot benefit from the tools or this community, because you totally can. If you want to use the Roots stack, but want to stick to what you already do best, then you’ll find that this is a great place to find others to work alongside with. Us developers can definitely benefit from non-developers who see the value in these tools. #jobs is a great place to find others who are looking to collaborate.

3 Likes

Hi knowler! Thank you very much for that detailed explanation I’m definitely going to start using Roots and going through the learning curve and use this community as well! I will start setting up the Roots stack and continue to work with my known tools as for a start and for sure move on and become better and more familiar with wordpress developing.

I really appreciate your time and help! The best welcome I’ve even seen!

1 Like

That’s great to hear. As far as learning, here’s a bit of an outline and some recommendations with where to start.

  • HTML/CSS — the core of all web development and design.
  • JavaScript — you don’t need to learn a ton to use the stack, but it is becoming more and more relevant.
  • PHP — the core of WordPress development.
  • a basic understanding of using terminals and command line interfaces.
  • Git and version control

Our getting started docs are good for getting your computer set up with the necessary tools to start using the stack (and web development in general). The documentation for each tool should suffice for itself. There are also guides for using the stack with a variety of tools as well as methodologies. The Digital Ocean droplet deployment guide would benefit you of you are using Trellis.

Check out the Roots example project for the recommended project set up as demonstrated by a site that’s actually live.

Before jumping into Sage, I’d recommend reading through the WordPress Theme Developer Handbook. This will teach fundamentals of theme development. Sage does do a lot of things different than what the handbook teaches. Roots’ approach to WordPress is best described as modern and in many cases this means ignoring the way WordPress suggests to do things for an approach that reflects the best practises of web development and PHP as a whole.

For development using Sage itself, Ben’s Sage book is a great (paid) resource. I’m sure many of us would agree it’s paid for itself many times over. Sage uses a very accessible templating system called Blade. It’s a part of Laravel — currently the most prominent PHP framework — but it has been extracted for using in WordPress. We point people to their documentation for learning Blade’s syntax.

Absolutely not necessary for WordPress development, but a resource which is helpful for learning many things web development and especially PHP, I recommend Laracasts. It’s a paid resource, but again, I’m sure many of us would agree it pays for itself with what it teaches you.

1 Like

Have to say, learning web development in Roots doesn’t seem realistic at all. Roots is an advanced WP dev framework, period. Going from a page builder to actual development requires learning the basics of HTML, CSS, JS and PHP before first. I’ve been using Roots for years and wouldn’t using anything else for my team BUT would never recommend it to someone just starting out.

2 Likes

I started to develop with Roots. Just a couple of things to add.

In one hand, could be frustrating until you learn the basic contexts and workflows that Roots stack implies. Frustrating for oneself and for people who try to help you here. People had a lot of patience with me until I learned to ask the right questions.

In other hand, to be focused on Roots means that you are learning the right things. Roots is the result of years of experience of the best developers. I do not regret at all. Indeed, to control the basics of Roots puts at your fingertips unexpected power.

Although it is not recommended to start developing with Roots, my personal recommendation is the opposite. Do it!

3 Likes

Perhaps I’m a sucker for punishment but I started using Roots (Trellis/Bedrock) nearly a year and a half ago now with ZERO development knowledge. I had built a couple of personal WP sites on shared hosting using various page builders but that’s it.

When I decided I wanted to learn serious development I did some reading (most of which went over my head) but it seemed like the Roots stack was the most modern way of building WP sites. It’'s been a huge learning curve but I have stuck with it and will continue to do so. Currently, I use the Divi page builder but have certainly reached its limits now and am excited to dip my toe into using Sage as well. I’ve been learning HTML and CSS along the way and thoroughly enjoying it.

The way I see it is if you’re going to start you might as well start properly. Sure, its more difficult but if you’re patient then you can do it. I’ve had to learn how to read documentation correctly (which is a skill in itself I think), not get flustered when things don’t work the way I expect and take a lot of notes.

2 Likes

Thank you guys for all this helpful information! I really appreciate each and every comment, and I really do want to start using Roots, but as you guys said, start developing from 0 knowledge Roots it isn’t the way to start.

Although, I do want to start using Trellis/Bedrock to have my own Local/Staging/Production, I found it very very very helpful and I’m really struggling with it.

My goal for the near future is to set up a regular wordpress website and to use the same plugins that I currently use and to have Trellis structure and Bedrock structure.

I try to learn and I found it very frustrating when it’s coming to Windows user, I do have MAC but I use it mostly to my personal uses and not for work…

If you guys can direct me how to achieve my goal it would be very helpful, In the meantime I going to search by myself! Hopefully I’ll find how to achieve that.

Thank guys for all the help!

EDIT
I’m using AWS, So I would be very happy to hear about the Instance you would use for a WP site.

1 Like

This topic was automatically closed after 42 days. New replies are no longer allowed.