Hello! I'm the creator of the Lucky web framework https://luckyframework.org. I've been building it for about 3 years and we've got a number of people using it in production.
It still lacks some features found in bigger frameworks, but is nearing 1.0 and gaining many new contributors that are helping us fill in the gaps.
Feel free to hop on our chatroom to ask questions about it. We try to be super friendly and love answering questions and getting feedback https://gitter.im/luckyframework/Lobby
Right now I'd say we need to make it easier to work with nested params so you can easily save Parent + (n) children. Easier handling of uploaded files is another big one. It's being actively worked on right now. There are a few more escape hatches that are needed when you need to break out of the framework. But overall it is fairly full featured.
author of Lucky here. Would love to hear what you don't like about Lucky's ORM (Avram). It is not quite as feature complete as ActiveRecord, but in some ways it has more features (like being able to do more advanced queries in Crystal `>`, `ILIKE`, etc.
This looks awesome! What backend framework are you using? I'm the author Lucky and was wondering if you happened to use it on the backend since you are using Crystal
Author of Lucky here. The title may have been a bit misleading. Lucky is not Ruby on Rails for Crystal. It has a different take on nearly everything in Rails, but it aims to solve the same problems: make web development fun and productive.
But it also adds: and make writing fast applications easy, and prevents bug from making it to production.
If you use Lucky now, you will be missing the vast ecosystem that Ruby and Rails provide, but I think that is a temporary problem. Lucky and Crystal are growing quite quickly.
I agree. I've been using Rails for 12 years and it is my second favorite framework :)
Lucky and Crystal are missing the ecosystem, which the article mentions, but it also adds a lot that Rails is missing. Lucky is much much faster and the speed is effortless. Rails can be fast, but based on my experience so far, you have to do some work to get reasonable speeds.
Lucky and Crystal have also caught a lot of bugs, which makes development much more pleasurable, and happier customers.
Right now, it probably takes longer to use Lucky and Crystal. Like you said, the ecosystem is lacking so you often have to write code that Ruby would have a gem for, but in the long term, this will be solved. I'm very confident of that.
I do not think Lucky is Ruby on Rails for Crystal. There are new patterns for just about everything. Routing is different, querying is different, views are very different.
It is Rails-like in the sense that it is aimed at productivity and developer happiness and that it aims to have most of what you need in one package.
Of course Ruby has a better ecosystem, this is mentioned in the article. Lucky (and Crystal) have a long way to go, but things are progressing rather quickly
I've played around with a number of languages and settled on Crystal because:
* Speed
* Pleasant to use type system
* Doesn't get in my way
* Catches lots of bugs
* Fun!
I wrote http://luckyframework.org/ to write web applications with minimal boilerplate and as few runtime errors as possible. Take a look and let me know what you think
>To get Lucky, you need to install these first.
>Install one of these process managers: Overmind (recommended), Heroku CLI (great if you plan to use Heroku to deploy), forego, or foreman.
>Node. Requires at least v6
>Yarn
>Crystal. Requires at least v0.25
>Postgres (macOS/Others)
Why are those dependencies needed, except Crystal, particularly Node? And does Lucky only work with Postgres?
You can use Lucky without a database, but if you use one, Postgres is the only support database.
You don't need node or yarn if you are using API mode. You can generate an API only app with `lucky init <app-name> --api`
The process manager is used to start the watcher process. You can use Lucky without it by running `lucky watch` instead of `lucky dev`, but using the process manager is nice because you can also run asset compilation, job queues and whatever other processes you app needs to run.
Lucky can be stripped down further still, but the documentation focuses on the more opinionated route
That looks really nice. When I clicked the link, I wasn't expecting a good looking page and all of those docs, it was a nice surprise. I look forward to checking it out :)
It still lacks some features found in bigger frameworks, but is nearing 1.0 and gaining many new contributors that are helping us fill in the gaps.
Feel free to hop on our chatroom to ask questions about it. We try to be super friendly and love answering questions and getting feedback https://gitter.im/luckyframework/Lobby