6 ms·
Show HN: Automated Rails development with Prelang
- dang 12y agoWe're taking "Show HN" out of this title because the software isn't ready to be tried out. Please read the new Show HN guidelines: https://news.ycombinator.com/showhn.html https://news.ycombinator.com/showhn.html. Landing pages and email signups are explicitly excluded. But when your work is ready for people to play with, please come back and do a Show HN then!
- egn 12y agoHey dang, I'm sending all invites right as I get requests now and the email gate will fully come down soon. Is there any chance I can get the "Show HN" back?
- egn 12y agoI'm deploying with the email gate removed now. If I don't hear back, I'll just make a new "Show HN" post.
- dang 12y agoHappy to put Show HN back in the title.
- jpetersonmn 12y agoIs this something I can download onto my own machine and run, or I need to do it through the website?
- egn 12y agoIt's all through the web.
- carlosdp 12y agoThis looks great! I like how this one concentrates on the back-end features more than the views. It just generates all the backend/routing and lets you put in the special view logic yourself. Good way to not get distracted trying to master a WYSWIG.
- vinceguidry 12y agoThis is why I love Ruby. It's got all the built-in language features that allow one to perform this sort of abstraction, and a large-enough user base so that powerful ideas like this will eventually be implemented. I couldn't imagine anything like this existing in even Python.
- jamii 12y agohttp://www.web2py.com/ http://www.web2py.com/ https://www.youtube.com/watch?v=k7lE-R16H4c https://www.youtube.com/watch?v=k7lE-R16H4c
- vinceguidry 12y agoYeah, not even close.
- anentropic 12y agofailure of imagination...
- bebbs 12y agoThis is a fantastic tool, really well implemented. Will definitely be following along how this develops in the future.
- nthj 12y agoThis is really cool. Have you guys considered Heroku integration? One-click generation + deployment could be a really slick MVP tool (although I worry about how it would affect client expectations were they to ever find out about it. :)
- egn 12y agoThanks! A deploy process like that is coming relatively soon... I've been working on it today in fact. I'm glad you think that would be valuable.
- sergiotapia 12y agoI know of at least 3 people who would kill for this feature. Imagine generating a starting point and have it deployed immediately. Wow. Gamechanger!
- xionon 12y agoThis looks pretty neat. Looking forward to you getting the disabled features ironed out. Some notes: * Project generation with most of the features and a couple models is taking a really long time. I'm sure it's a background job, and I could walk away if I wanted to, but it'd be nice to know that the system would email me to let me know when it was done * Sometimes UI widgets flicker when switching between sections. I'm guessing a lot of those styles are being added with Javascript, not CSS? You might consider switching to a CSS framework that gives you a good look and feel, but doesn't have to call some JS function to apply styles. * The auto-capitalization on model names, and auto-lowercasization (?) on field names, was a nice touch, and made me feel happy about the product. * It would be really cool if users could write and submit plugins / hooks. I'd be interested in background jobs that weren't DelayedJob, and deployments that weren't Heroku, for instance. * I'm guessing that "public repos only" is a temporary feature, because GitHub doesn't have a way to authorize an app to write only to certain private repos, correct? Because most of my work is on private repos, and I can't see my organization using something like this without the ability to create projects (even scaffolds) privately * A feature for Vagrant would be nice :-) I'll be watching this! We've currently got several people switching from ColdFusion to Rails; they're good programmers, but they don't know the ecosystem or the conventions. This gives them a really good starting place. Thanks for sharing. Edit: Also, this is the first time I've seen app/views/elements/, and I'm kinda pissed I haven't thought of using a different directory for partial layouts before. Now I've got some app/views/layouts/ directories to clean up...
- egn 12y agoReally appreciate the detailed feedback. * Email on generation is a good idea. Also, I don't have a Gem cache system yet which will help. * Flickering is because some of the inputs have to compute a lot of values @ Backbone model layer. Definitely opportunity for optimization. * Thanks :) * A lot of users have asked for user contributed features. The problem is it's hard to extract an API from my generation system but I hope to in the future. * Very doable. I just haven't written private repo support in because I'd have to deal a lot of auth/selection issues which isn't a priority right now. * Vagrant would be great. For a lot of these, I just don't have time yet but all candidates for the future. Thanks again.
- sergiotapia 12y agoThis is really interesting! I created a simple app to CRUD Cities and Countries and it works as you expect it to. Code is also what I would have written given the simple spec. Uses the latest Rails and clean code generation. Well done! If you're curious see here: https://github.com/sergiotapia/prelangtest https://github.com/sergiotapia/prelangtest I'll use to launch my next project because Facebook+Email authentication is a pain in the ass to implement.
- DanielKehoe 12y agoHere's my feedback, as the developer of the Rails Composer tool [https://github.com/RailsApps/rails-composer https://github.com/RailsApps/rails-composer]. I got started with "automated Rails development" (as you call it) using Michael Bleigh's RailsWizard. He built it at RailsRumble 2010 as a website that generates Rails apps. I forked it as Rails Composer when the project was abandoned, and developed it further, purely as a command-line tool. It's been the most popular project I've worked on in the Rails community, and also more work than I ever expected. I've had a huge community supporting Rails Composer as an open source project so I get a reliable stream of issue reports and pull requests. And I've built a business model to fund the project, by asking supporters to pay $19/mo, and offering my in-depth Rails tutorials as a reward for subscribers. That's the RailsApps project [http://railsapps.github.io/ http://railsapps.github.io/]. Rails Composer is popular because developers really like a tool to build starter apps, and it's a lot of work because changes to Rails and gems constantly introduce entropy. I think you'll face a similar challenge with Prelang, maintaining the product as gems change. Developers want an automated Rails development tool because a good starter app will give them a reference implementation, code that is properly configured and guaranteed to work with the latest versions of all the popular gems. You'll have to keep checking and tweaking as gems and Rails versions change. That job will be easier if you limit the starter app to use only the most popular stack and a small set of popular gems, as you've done so far. You'll also need to monetize the project to be able to maintain it (I doubt it can succeed as a spare-time project). As a gauge of time required, I work fulltime on RailsApps, splitting my time between developing Rails Composer and writing the tutorials for the project's supporters. Erik, I hope you do well with Prelang. You've created a beautiful interface, the project is ambitious, and judging by Rails Composer, developers will want it.
- egn 12y agoThank you for the kind words and continued support/feedback, Daniel. I'm guessing we'll keep bumping into each other for a while. :) I definitely hear you on the Gem volatility and agree on monetization. Eventually, I'd like to have a team working full time on the builder in addition to user-contributed features. Surely, it's a headache to think about hundreds of features past what Prelang has now but I believe it's doable with the proper architecture. All the best.
- aantix 12y agoThe demo video looks fantastic. Great work you guys.
- matthuggins 12y agoCool idea, but I immediately left when I saw the only background process option was DelayedJob. With greatly advanced options like Resque and Sidekiq, I fail to see a need for DJ personally.
- bsmith 12y agoAt my job, the lack of high reliability/availability options for Redis was why we chose DelayedJob. This may have changed since we made that decision, but at the time there was no consensus on a solution in the Redis community.
- reledi 12y agoDJ is the quickest and easiest to set up. It's a great option to start with.
- kitwalker12 12y agoI love it. Adds an awesome GUI to features that I love in RailsComposer. Would love the ability to add sidekiq, postgres, rails_12factor & sass
- ShaneWilton 12y agoThis looks like a really great tool. It's a shame Github doesn't have more fine grained permissions though - I'd love to give it read/write access to repos it creates, but it requiring global read/write access means I'll probably never use it.
- rock_hard 12y agoGreat work! mongoid support would be highly appreciated :)
- samirmenon 12y agoI have been thinking about something like this for about a year now...you've done an excellent job! Good luck!
- kitsched 12y agoI only watched the presentation video and I'm being nitpicky but by convention git commit messages should be present tense.
- egn 12y agoAh, you're right. Thanks.
- stravarius 12y agoThis is truly an innovative addition to the Rails ecosystem. I'm learning Rails and Prelang offers a great way to read code that's written with best practices in mind. All the best!
- flylib 12y agogood work, known of this for awhile and been impressed. came across this one today which is trying to doing something similar also http://www.drystorm.co http://www.drystorm.co