WebDeveloper's avatar

Laravel Future Vision with Lumen arrival! Will Taylor make the hard decision?

Hello, I have some requests and questions that I will be grateful if @TaylorOtwell @JeffreyWay and other Laravel maintainers give me the answers,

My questions is about Laravel future but that will be after the introduction:

Guys, I love Laravel and there a little voice inside my heart tell me that I should use Laravel!

However…

I am a beginner developer, so I am forced to prefer easy technologies when it's available. I used Yii2 framework recently to develop a website and I shocked with the result! I was able to develop a very good website with little time by utilizing Gii Web base code scaffolding tool that Yii2 provide out of the box! http://www.yiiframework.com/doc-2.0/guide-start-gii.html

and Yii2 built-in Datagrid widget that's have a nice bootstrap look with paging and Ajax refresh and filtering ability with a wide range of configurations! Take a look at Yii2 datagrid here: http://www.bsourcecode.com/yiiframework2/gridview-in-yiiframework-2-0/ http://www.yiiframework.com/doc-2.0/guide-output-data-widgets.html#gridview

And even more! I use the mind blow krajee extensions which include wonderful DataGrid extension that have many many abilities and options! Like Editable column allows you to make the grid content directly editable by clicking it and have the option to do inline edit or popover edit, Expandable Row Column allows to expand grid rows, show details, or load content via Ajax and Ajax filtering. Take a look at krajee DataGrid at: http://demos.krajee.com/grid-demo

That's more than needed for a beginner! End of the introduction.

I know that Laravel have more power, abilities and nicer syntax than Yii2 framework, but I feel sad that If I use Laravel to build the same project that I do with Yii2, it's will be harder to me and it will take a lot more time to achieve the same level of functionality because it will required from me to make all the widgets that is included in Yii2 out of the box and even if I try to make them, I will not make them at the same level of power and functionality because the lake of my experience.

Therefore, my question is: With the arrival Lumen (the light version of Laravel), Will @TaylorOtwell make the hard decision?!

I guess that @TaylorOtwell now have the ability to do the separation and make everyone happy by adopt this vision: Lumen will be the light version for applications focused on speed will less features but the standard Laravel will be the large version for applications that need more power and features. So, the standard Laravel may have built-in features like:

  • Widgets like DataGrids, DetailView, ListView
  • Web base scaffolding for models and CRUDs etc.
  • And more.

What you think about this vision?

0 likes
20 replies
RomainLanz's avatar

You only speak about JavaScript libraries. What you found awesome in Yii is theirs helpers to use some javascript libraries. You can do the same with Laravel very easily and you have a lot of really useful PHP package inside.

davorminchorov's avatar

While it's great to have all these things out of the box, every application is different in terms of features, tools, structure etc. It's hard to guess every possible combination of an app. That's why you have to customize your app! It may take you a few extra minutes to set it up, but it's better than having something that you are not going to use it at all.

Some people don't even use data grids because that might be too much for them. Instead, they implement that on their own or by using packages.

Jeffrey has a scaffolding option as part of the generators for Laravel 4, but I don't think it's available in the Laravel 5 version of the package. Maybe he'll add it one day. Again, not everyone is using that command.

the HTML Builder package was moved out of the framework so Taylor can focus more on the framework itself instead of the front end stuff. People can still add it if they need it, and it takes a few seconds. If someone builds an API, they probably won't even need that package.

Everything that comes out of the box is based on opinion so it's hard to guess if people want it or need it at all or if they'll ever use it. That's why customization is king!

2 likes
WebDeveloper's avatar

@RomainLanz thanks for you reply, I am no only speak about JavaScript libraries, JavaScript libraries only part of Yii2 widgets which written in PHP. I would be grateful if you help me by giving me resources how to do the same with Laravel very easly

sukonovs's avatar

In one sentence all functionality in your post is extension territory. You can always look up something on GithHub or start your own repo and attract other developers for help. Laravel is moving away from HTML specific solutions or forcing app architecture on user.

WebDeveloper's avatar

for @sukonovs and all guys, I feel you didn't fully understand me, please give Yii2 a try and see how amount of time you be save when you use built in web base code generation and widgets. and the result will be wow

frezno's avatar

i'm not quite sure whether you are really asking a question or just want to promote YII

andy's avatar

@WebDeveloper

To be honest, starting out Yii will probably give you the most in the fastest fashion but once you start getting more experience and start working on larger projects that start to go beyond what Yii gives you in the beginning you'll end up fighting the Yii system more. It's like @Ruffles said, it's really up to your app and requirements that should make the decision.

I don't agree that it's just a few extra minutes to set up laravel to do what Yii can do out of the box. But once again, I don't want to work around what Yii gave me to start with. It's a trade off that you really need to consider in the long run and not the short run.

For the rest of your post, @Ruffles said it here too. Widgets are not part of a framework. Nor should the majority of the things that you like about Yii. Would you rather have a solid framework built on principles that have been thought over several times or a framework that is being developed at the same time as multiple add-ons?

I'm not sure what you are getting at ... Do you want Larvel to be like WP? Just point and click to create a site?

2 likes
WebDeveloper's avatar

I don't know why you indict me!

I hope the best for Laravel and I just want it to include the features that I loved in other frameworks.

I'm sorry that you think that way, I wished that you comments more kind

WebDeveloper's avatar

@andy thank you very very much for your kind reply, I really appreciate you info and I will be grateful if you continue this discussion with me.

I don't want Laravel to be like WP, but I will be happy if Laravel have a smart generator for models and CRUD like Gii, And as I mention before, I am not experienced so I can't make widgets as same power as Yii widgets, so I ask here if is possible for Laravel to make these things to help beginners to do great projects with little amount of time.

my point that I love Laravel and I know that Laravel is the best PHP framework but if I choose it now, I will develop not good projects because the lack of my experience,

so, I want to ask you, Is it possible to make Laravel have these features and if you want it use it, if you don't want it just leave it?

and another question, Is it possible for me to port these feature or get the experience to do it my self

davorminchorov's avatar

my point that I love Laravel and I know that Laravel is the best PHP framework but if I choose it now, I will develop not good projects because the lack of my experience,

You'll gain experience as you work on projects. Even the experienced developers had to start somewhere, so they learned a lot of new stuff and they are still learning!

You don't have to use Laravel for your main projects if you are not sure how to use it. Use it for some side projects where you can test stuff and see how things work and understand the framework (same goes for Javascript and front end)!

1 like
andy's avatar
andy
Best Answer
Level 8

@WebDeveloper

@Ruffles beat me to probably the best answer. It really is just getting down and trying out a system/framework and either liking it or hating it. If it doesn't talk to you then it just won't and you're better off going with a different system that talks to you.

Can you get Laravel to be feature per feature like Yii? Yes. Example is DataGrid: I know 3 different packages that can give you functionality of DataTables. From there is just adding all those Functions that DataGrid gives to you out of the box. Is it more work? Yes!! But!! What if you don't want all those features of DataGrid? You still have to do something to make it work the way you like it. I actually like what DataGrid gives to you out of the box. Don't forget that Laravel can also take advantage of some packages that were created for Symfony.

Crud generators: Not really any more ... Jeffery Way had a generator package for L4.x but has only ported a small part of that functionality to L5. Laravel does provide some files and Jeffery's L5 version adds a little more. I have looked in the last month ... so maybe something is out that will do the full CRUD again. I just copy paste from my other files these days so I don't miss the CRUD stuff as much.

When I came to laravel. I was working with procedural code, php5.1 and really lots of old school programming mentality. The pain was really bad, but laravel "talked" to me and my skill set has really jumped because I had to really think about what I was doing. I couldn't just copy / paste code from the net or load some extension. Did I say that it really caused me lots of pain? ;-) It was not easy for me. Lot's of people just pick up Laravel and start building things like crazy. Not for me. I had to work for what I can do.

Do I regret stressing out, pulling my hair out, banging my head at the wall, and lots of cussing? Nope! Because laravel has been "priceless" for me. Should I have gone with Ruby or Python? lol ... maybe ;-) I'm not gonna lie about that. But I still love scrappy PHP.

Should you just use laravel? That is up to you. Just like @Ruffles said, test drive laravel, make a simple ToDo list or even better yet, a contact list that expands off the base User model. But don't use it if you can get a job done faster in Yii or some other framework. Use laravel because you enjoy using it. Don't use it because a bunch of guys on the interwebs think it's the greatest thing.

Here is a pretty much functional backend that I'm working on. https://github.com/illuminate3/rakko It provides a base framework with modules, admin, authentification/authorization, socialite, a few base modules and I use a package by yajra that does DataGrid for you. I try to pick packages that are active and whose developers are nice and helpful. It's not the greatest code, but it's code that I'm having lots of fun to develop -- which to me is all the difference.

2 likes
andy's avatar

No problem.

I just wanted to give you an honest view point without selling you on just laravel.

1 like
nolros's avatar

@WebDeveloper I really enjoy Laravel, it is a great framework with a great community. The only real issue for me is the fact that all roads lead to Taylor and that single point of failure is risky. I've started coding with Ruby, which I really like as it is OOP on steroids, but that comes with overhead. Small dev shops will enjoy Laravel, larger dev shops will most likely go with dev platforms like ASP as you have a giant behind it, but that comes with a cost as app grows. Like @andy I'm tempted to jump to Ruby or Python, but porting existing apps will be a pain. Laravel is a good choice, but like everything it depends on what you doing.

1 like
andy's avatar

@nolros

IIRC, I do believe that Jeffery is a fallback and Taylor has been spreading some other development to other people. So, in some ways Laravel is already ahead of some other frameworks.

To be honest, .Net/ASP seems to be one of the only projects I can think of that could survive a major portion of lead framework developers leaving. However, I'm not much into buying software licenses to run that framework and deal with some of those headaches.

1 like
WebDeveloper's avatar

@andy I think in something and I need help, It would be appreciated if you will do it.

if you can recommend to me some resources to be professional web developer that include Laravel and other web development techniques like Ajax etc and after I learn those resources I will be grateful if you and me cooperate to develop open source project on Github, I will benefit from your review my code and give me feedback if there's better way to do what I do,

I need also to learn how to team work, because until now I always work alone!

I waiting your reply On pins and needles

andy's avatar

Please use my github account email address. I posted a link to my github project rakko above.

briedis's avatar

I coded Laravel for a year (4.2, then 5) and now I'm working with a Yii2 project for almost a month, and I really hate it.

Routing sucks.

Query builder sucks.

Migrations suck.

Documentation sucks.

Environment detection sucks.

Everywhere those god damn arrays, it's like they had a fetish for them, or something (all migrations are ugly arrays with string concatenations, instead of simple method chaining). Configuration is many-level arrays.

No dependency injection via controller methods, event controller constructor is cluttered with unnecessary parameters, which you always have to write.

I already added to the project some things from laravel, like elixir, migration schema builder (Capsule), php dotenv environment detection, dd() function and other useful helpers.

Don't try yii, if you have tried laravel. You will feel like you've been thrown 5 years back.

1 like

Please or to participate in this conversation.