• I’ve been developing WP websites for a living since 2011, and I’ve been playing with the platform since much longer. But I feel like I’m stuck behind with the latest technologies and modern development/deployment workflows… I mean, I can develop a functioning website, my clients are happy, and their websites run relatively smooth and fast, but maybe there is room for improvement and optimize my workflow.

    Right now I base all my websites on Roots Sage 8 (without using Bedrock, nor Trellis), develop them in my local WAMP environment, and I deploy new websites and changes live in the good old fashioned way (FTP/SFTP + PhpMyAdmin).

    Finally I’ve found some time to invest into learning something new, but I don’t know where to start…

    • What’s your typical WordPress development and deployment workflow?
    • Should I look into Sage 9, and learn the “complete package” using Bedrock, and Trellis for deployment?
    • Or should I learn about Docker instead of Trellis?
    • Should I learn React to be able to take full advantage of Gutenberg?
    • Is there any other cutting edge tool / technology which you recommend learning?
    • What is a good learning path for this? Any suggested resource? (books, websites, courses – even paid ones).
Viewing 5 replies - 1 through 5 (of 5 total)
  • If you don’t have a reason to try something or a goal to achieve, everything is a shot in the dark. “Modern” development means different things for different products.

    There is nothing wrong with using the tools that are built-in to WordPress or add on (plugins). I don’t see why you’d need to do much development for a client web site, unless you write an entire theme or a plugin. And those shouldn’t be so complicated that using a different platform might be better.

    I’ve been doing WordPress stuff since 2006, and I don’t even know what Sage or Trellis is. I’ve heard of Docker, but why would you need it for a client site? React is just for in-browser stuff. You can use Gutenberg without knowing it.

    Web sites are pretty simple. Don’t complicate them needlessly. (But go ahead and learn about new things if it interests you.)

    Thread Starter s

    (@stepunk)

    As I develop websites from scratch optimized for the client’s needs, not just install and configure themes and plugins, I need to keep up with new technologies in order to provide a fast, efficient and secure websites with all the custom features needed by the client.

    So every website is unique and it requires a lot of development.

    Honestly there are WordPress developers who are light-years ahead of me, and I wanted to reduce the distance. 😉

    But mostly what you mentioned was tooling.
    My opinion is you work with what you know and if it feels too restrictive, learn something else. But extra tooling is not actually needed.

    @stepunk:

    What’s your typical WordPress development and deployment workflow?

    Most of my work is backend (PHP/MySQL) and others on our team do the front-end work (HTML/CSS/JS/etc.). My team builds and maintains business-critical websites for our clients.

    I use a Vagrant box for local development that we architected and built and make it available for others. I use PhpStorm + XDEBUG to edit and debug (we made our Vagrant box automatically work with XDEBUG.)

    We version control projects with Git and host the repos at GitHub. We use Composer to manage project dependencies.

    We typically use Pantheon as a web host and Git deploy from GitHub via a CircleCI deployment script we wrote and make available.

    Should I look into Sage 9, and learn the “complete package” using Bedrock, and Trellis for deployment?

    There are so many options here. We don’t use Sage because we built our own framework, but I understand Sage is excellent. Bedrock is also a pre-package workflow using Composer, so that would probably be work using. Trellis is an alternative to what we’ve developed so I won’t comment on it.

    Or should I learn about Docker instead of Trellis?

    Apples and oranges. But while they are different fruits you can get nutrition from either one.

    Trellis is a Vagrant VM, and so is ours, for now. But ours also uses multiple Docker containers inside our VM to allow you to mix-and-match services internally (Apache vs. Nginx, MySQL vs. MariaDB, MySQL 5.x vs. MySQL 8.x, etc.) but most solutions using Docker for WordPress put everything needed (web server, DB server, PHP, etc) into one container, making it inflexibly without extra work.

    IMO, building your own VMs and Docker containers is for developers people who want to also become sysadmins. It depends on if you want to spend the time to learn devops.

    Or you can just use a pre-built VM — possible with Docker included — if you want things to “just work”; currently I’d say Local by Flywheel is the best choice for that (though we hope to give them a run for their money once we reach 1.0).

    Should I learn React to be able to take full advantage of Gutenberg?

    I have not been working with Gutenberg yet, so I will defer that to others.

    Is there any other cutting edge tool / technology which you recommend learning?

    Not sure if you will have the use-case to need it, but I have recently fallen in love with GoLang.

    What is a good learning path for this? Any suggested resource? (books, websites, courses – even paid ones).

    One of the very best ways to learn IMO is devote some time to answering questions at WordPress StackExchange with a goal to get as many reputation points as possible each day. Forcing yourself to dive in and figure out the answers before someone else can answer new questions and thus get points is both a great way to learn and also a great way to give back.

    Hope this helps.

    • This reply was modified 5 years, 10 months ago by Mike Schinkel. Reason: Formatting
    Thread Starter s

    (@stepunk)

    Thank you @mikeschinkel, you gave me some nice and useful insights! 😉

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘About a modern WordPress development and deployment workflow, and modern techs’ is closed to new replies.