<p>Okay, so I may take some hate for this one. </p>
<p>What I'm wondering is, if I combined all of our favorite Go tools, like gorilla, maybe Hugo, Alice, etc, would it be possible to develop a workflow that would rival a simple dynamic site's creation time with Wordpress? I'm NOT saying that I think Wordpress is the answer, but I AM saying that finding a theme, customizing it, and deploying with Wordpress has a level of ease and convenience that you can't really deny. </p>
<p>I'm willing to put in more work with Go to achieve similar results, but I'm not even sure if it's possible. Whenever I try to find results on Google for "complicated" website creation with Go, it's some industry that's looking for faster servers in their own networks, or some crazy way to use Golang to glue Python scripts to AWS or something.</p>
<p>I know Go won't have a perfect (or really good) CMS for a long time, and it may never. It's carved out a different niche, which is great, in my opinion. But I'd love to hear if I'm even thinking about this the right way, or if a workflow for "simpler" websites with Go is even a possibility with a monolith like Wordpress already established.</p>
<p>Thanks!</p>
<hr/>**评论:**<br/><br/>Carpetsmoker: <pre><p>The challenge will be building something that has the equivalent (or better) UI than Wordpress. From a user's point of view Wordpress works fairly well and is pretty powerful. AFAIK nothing really comes close to Wordpress in terms of that.</p>
<p>A rewrite in Go may be ten times faster, it may be the most beautiful code in the world, but in the end, it's the end-user experience that counts. The rest are just tools to achieve that goal.</p></pre>AbsoluteZeroK: <pre><p>I think you have to be able to make the business case for it, and I think if you make some kind of a front end for Hugo the business case could be made. Since as a developer, if I can reasonably build it in hugo instead of wordpress (let's be honest, there's a lot of cases where people use php only for wordpress, when they should really have a static site) I'd rather do that (and will save money by doing it). Even better if I can just develop it locally like I'm used to, still use git, ect, etc. Then when it's time to hand it over to a client I just drop it into the "wordpress for static sites" and give it to my client to produce their content.</p></pre>metamatic: <pre><p>The UI will be time-consuming, but ultimately not tough.</p>
<p>What will be difficult will be coming up with anything to rival WordPress's plugin/extension system. Because Go is statically compiled, you can't just drop in some extra code the way you can with a dynamic language like PHP. So you have various options, e.g.:</p>
<ul>
<li>Build your plugins around some sort of command-line, environment or HTTP-based API.</li>
<li>Build a scripting language into your application for extensibility.</li>
<li>Expect the user to recompile the application.</li>
</ul>
<p>All are pretty unpleasant compared with the ease of hacking together a WordPress plugin through the dynamic hook system.</p></pre>Espresso77: <pre><p>Your comment reflects the trade-offs as I currently understand them.
please, see my comment: <a href="https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m" rel="nofollow">https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m</a></p></pre>Carpetsmoker: <pre><p>... Why are you spamming a link to your comment on several other replies ... ?</p></pre>Espresso77: <pre><p>Apologies for poor reddiquette (if any occurred), I'm mostly a reader/lurker and wanted to brainstorm the topic with others that are in a similar sphere.</p>
<p>A wordpress-like go-lang framework is something that I've been 'Gedankenexperimenting' with for a while and wanted to make sure that the commenters who had something constructive to say would see my message.</p>
<p>In short, I'd just like to have a sounding-board of devs who are aware of the pro's and con's to decide if a real project is worthwhile, and also if anyone would be willing to help out if I were to start it.</p>
<p>If you have a better suggestion for gathering such a group, I'm all ears. This just seemed like a surprisingly perfect topic to begin the discussion.</p>
<p>Thanks,</p>
<p>-sam</p>
<p><a href="https://www.linkedin.com/in/sam-rogal-71bab72a?trk=hp-identity-name" rel="nofollow">https://www.linkedin.com/in/sam-rogal-71bab72a?trk=hp-identity-name</a></p></pre>Espresso77: <pre><p>Well, I'm apparently very green to the ways of reddit comments.
I thought I was only responding to a PM, but obviously that's not the case. I did edit my post to <a href="/u/carpetsmoker" rel="nofollow">u/carpetsmoker</a> to clairify details, but I will not alter it further, despite the identifying information.
I'm sorry if I was spamming inboxes, but I'll be available, if anyone is willing I would still like to discuss the topic further.
thanks,
-sam</p></pre>Sphax: <pre><p>I'm not sure what you're looking for. You can absolutely build some software that will in the end be as dynamic and simple as Wordpress might be. Do you want to build something like wordpress, or do you want to just build a website ?</p></pre>plasticmacaroni: <pre><p>Sorry, I've had crazy days at work and am just now getting to these. </p>
<p>It's more the time involved. I can spin up 10 small, custom-templated Wordpress websites in the same amount of time as a single Go (Hugo, etc.) implementation. I love Go, and would love to be able to charge customers for a Go site, but with the clients I'm working for, they don't care if it's a Go site with some kind of CMS or a Wordpress site, and Wordpress is the more value-creating option because it's so much faster. </p></pre>Espresso77: <pre><p>Your comment expresses the flexibility of Go (or most languages in general) as I understand them.
please, see my comment: <a href="https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m" rel="nofollow">https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m</a></p></pre>natefinch: <pre><p>You mean like this? <a href="https://forestry.io/" rel="nofollow">https://forestry.io/</a></p></pre>twek: <pre><p>Thanks internet stranger this looks very interesting </p></pre>forestryioCTO: <pre><p>Forestry.io CTO here. I'd be happy to answer any questions.</p></pre>natefinch: <pre><p>Haha, you're welcome :) I just happened to have talked to the guys working on this a couple times. I've done some work on Hugo, and so they wanted my opinion. I'd love a "Wordpress that works like Hugo", so the fact that someone is building it is awesome.</p></pre>twek: <pre><p>Is there a code repo or is it just an online service? If it's just a service I'm less interested. I think it's very common for gophers to want access to all the code in their stacks ha</p></pre>gergo254: <pre><p>I found this: <a href="https://github.com/forestryio" rel="nofollow">https://github.com/forestryio</a>
Maybe if it's open source, you'll find your answer here. :)</p></pre>forestryioCTO: <pre><p>Currently it is not open source. We are thinking about possibly open sourcing it in the future. But for now it is SAAS.</p></pre>twek: <pre><p>Honestly if I can't download it and run it on my own server it's a bit of a deal breaker for me :( I've been burned by saas before</p></pre>forestryioCTO: <pre><p>No worries. It's not for everyone. If you do want to try it out though, just pm me your email or sign up to our beta.</p></pre>plasticmacaroni: <pre><p>This is incredible!</p></pre>earthboundkid: <pre><p>When I imagine the holy grail CMS, it would be an app on the desktop that when launched runs a localhost admin where you can add pages, preview things, etc. then you click "publish" and it sends the static files out to S3 or some virtual host somewhere. Hugo is already a long way towards the holy grail, and there are a couple of different plugins for it, like the Caddy extension, that move it closer, but I don't think there's anything truly perfect yet. </p></pre>thyris: <pre><p>the problem with a localhost requirement is that it discounts the power of the web. Being able to log in from anywhere from almost any machine to administrate and update content on your website is what makes modern-day CMS's so popular.</p></pre>petulant_snowflake: <pre><p>So Microsoft Frontpage or Adobe Dreamweaver? I realize these tools are discontinued/out-of-date/shitty, but this is what designers used to use.</p></pre>earthboundkid: <pre><p>Yes. I know those tools were bad at the time, but I wonder if it wouldn't be possible today to make a GUI web tool that doesn't suck. </p></pre>Espresso77: <pre><p>I haven't held that position before, but find it intriguing.
please, see my comment: <a href="https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m" rel="nofollow">https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m</a></p></pre>harrir: <pre><p>I have actually thought about this several times but I have not been able to conclude on anything. WordPress works fine and has great support and user base. It almost unpresidented.</p>
<p>I like Hugo but it is a higher level to entry than WordPress. One could try create a "WordPress killer" in Go, but is that likely to happen? What is the motivation for creating a WordPress in Go? Just to have a CMS in Go?</p>
<p>I guess there is nothing really stopping you (or anyone) from trying but if it will catch on is another thing. And I suspect it demands great amounts motivation because it is surely a big task.
And remember there is no such thing as a perfect CMS. ;)</p>
<p>These are some thoughts I manage to write down now. I'll probably get some more later.</p>
<p>I suspect there is a marked for a couple of good CMSes in Go (if they do not exist already?). </p></pre>plasticmacaroni: <pre><p>This is great to hear from someone else! This is kind of where I am currently. </p>
<p>I can spin up an incredible looking site in Go, but I could make 5 more customized ones in Wordpress in the same amount of time. I'm not looking for a 1:1 ratio quality and efficiency-wise, but currently, I don't see a way I could switch to a Go CMS and still design products fast enough to cover business expenses. </p></pre>Espresso77: <pre><p>I've also weighed this topic a bit.
please, see my comment: <a href="https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m" rel="nofollow">https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m</a></p></pre>redbeard0x0a: <pre><p>Then look at <a href="https://gohugo.io/" rel="nofollow">Hugo</a>, you can even get a very rudimentary editing interface in the same vein as Ghost with the <a href="https://caddyserver.com/download" rel="nofollow">Caddy</a> web server (and the hugo 'plugin'). Hugo is a static website generator, like Jekyll - it also supports <a href="http://themes.gohugo.io/" rel="nofollow">themes</a>.</p></pre>thyris: <pre><p>I've been through the same thought process mate. The truth is, setting up and running a WordPress website is easy and great for straight-forward tasks. It's built for that kind of thing, but it comes at the cost of creativity. It locks you down to a particular way of operating and building your application, and sometimes that's ok.</p>
<p>There's some Go web frameworks and even "CMS"-type packages out there, but they're not on the same level as WordPress, and they're not likely to be in the forseeable future.</p>
<p><strong>The question really is...</strong></p>
<p>Do you want to be expressive with your code and be happy with a structured set of packages you've created for this monolith application that you can now leverage for other projects?</p>
<p><em>or</em></p>
<p>Do you just want to throw a theme from themeforest.com on a CMS, add and configure some plug-ins through a GUI, and maybe, maybe, tweak some code, just to get the project done and out of the way?</p></pre>plasticmacaroni: <pre><p>I mean, spend 2 hours editing the right theme, and you could match a custom-designed PSD of the site. </p>
<p>Or, start from scratch, and you could match it, but in quadruple the time. That just makes the idea of switching to Go hard, from a business perspective. </p>
<p>I'm always open to new things, and really like what you said about expressive, quality code. I was just wondering if other devs have dealt with similar issues.</p></pre>Redundancy_: <pre><p>What are you trying to create or features are you looking for that aren't satisfied by an existing product? (either Wordpress or Hugo)</p></pre>letsencrypt: <pre><p>Do you mean Go vs. PHP?</p></pre>plasticmacaroni: <pre><p>I guess I mean X (in Go) vs. Wordpress. I want to find X, or a workable solution. </p>
<p>I love Go and would love to migrate to it, but I currently can't find a viable option for my business (efficiency-wise). I was just testing the waters to see if there were developers out there who have a solution or had thoughts about this. </p></pre>dtoebe: <pre><p>While Wordpress continues to be the dominant CMS... It comes from a time that PHP was the "best" and easiest in town. You could build a Wordpress "clone" in Go, but I ask why? What would be better is to see where Wordpress is powerful (ui, plugins, ect...), and then see where it it is weakest. Then build it from the ground up. Understand the creator of Wordpress wanted to make an "OS" for the web... Is that really necessary? Really you would want to make a platform for basic sites, that with plugins (micro-services) can be made into a blogging platform, shopping cart, ect... The (massive) Monolithic architecture is also representative of the time it was created. And could be broken up, but realistically that would have to be done with a new platform, and would be to difficult with Wordpress.</p></pre>plasticmacaroni: <pre><p>It's more just that I love Go, and hate (HATE) PHP. PHP is by far the fastest solution for custom sites, at least for my business. If there was a similar solution or workflow for building websites with Go, then I'd love to migrate to it, because I love Go!</p>
<p>I realize Go isn't PHP, and a Go CMS would never be Wordpess. I was more just testing the waters to see if anyone else out there has had similar thoughts/taken action to migrate to Go. </p></pre>Espresso77: <pre><p>Many valid points.
please, see my comment: <a href="https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m" rel="nofollow">https://www.reddit.com/r/golang/comments/4nwph3/go_vs_wordpress/#thing_t1_d485i7m</a></p></pre>Espresso77: <pre><p>Sorry if I'm hijacking the thread, but this is similar to something I've been contemplating for a year or so, and just haven't had the time to dig into.
In short, I'm wonder if there is any interest in a developer-centric framework that would be lean enough to use as a web-service but extensible enough to (potentially) use like WordPress.
PM me if the subject is of interest. Mainly, I would like to start a slack group to pool the pros and cons.
TL;DR: Quick Slack chat to discuss if the concept is worthwhile. </p></pre>Greenskins: <pre><p>I think that if you ask such questions, then you are clearly not ready to do something better than WP.</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传