The new block-based editor in WordPress provides a great new content editing experience, and it’s even more powerful with custom blocks.
The core blocks are built using React and JavaScript. You can build your own Gutenberg blocks with JavaScript as well. If you plan to distribute your block publicly as a plugin, I recommend building it with JavaScript to keep it lean and decrease dependencies on other libraries.
When building a single website with many unique blocks, it’s more effective to use a block-building plugin like Advanced Custom Fields. You can build blocks much faster by leveraging a tool you likely already use. This is especially useful if you’re a PHP developer with little JavaScript experience. ACF lets you build everything using PHP.
For more real-world examples of custom ACF blocks, see my article on Building a WordPress theme with Gutenberg.
https://www.billerickson.net/building-gutenberg-block-acf/