• 2 Vote(s) - 3.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CodeIgniter Does It For Me

#11
(04-28-2016, 04:07 AM)dmyers Wrote: How would you compare them speed and memory wise? I know of another framework which adds a ton of "great features" automagically for you (in some cases even if you don't need them they are loaded) Unfortunately, the added extra automagic made it very slow and a memory hog in a real word high volume environment. Now they are adding on even more code to find all kinds of way's to speed it up and work around code.

One reason I personally enjoy using CI is that I start small and fast and build/add on what I need. Instead of getting all kinds of "extras" and then trying to work around and turn off the ones I don't need.

DMyers

The company I'm working for right now is currently using Laravel 5, and I've used Laravel 4 in the past on a few projects. There's no contest in the speed/memory department. CI blows it away in that department. I typically see 10-20ms startup times for CI3 on my dev box. I started up an L5 project yesterday in the day job, and it was seeing 400ms startup times. I don't believe they had much extra in their starting project, either. I'm know Laravel provides some optimization tools, and I'm pretty sure that was running without the optimization. Still, that's a crazy boot up time. I didn't pay attention to memory usage. Will probably look at that today, though.

And, especially with 5, there are lots of little "special features" that are built into things, especially the Eloquent models, that could be done by the user without a special mechanism in place to handle it. I think L4 was a decent framework, but, to me, L5 has jumped the shark and is starting to become too bloated and complex. Taylor's .NET roots are starting to really show, I believe.

To me, the power it has out of the gate, like the Blade templates and the Eloquent model, are offset by the complexity of everything else. It seems easy to use, but that definitely comes at a large price to understand and expand it. Even then, I look at the Collections that Eloquent returns, and realize that he built in all of the features of an array, when an array probably would have covered 90% of what he built into it.

The more I use Laravel, the more I realize just how big a fan I am of explicit code, and much less "magic" behind the scenes. Man, I'm ready for CI4 to be done and production ready Smile
Support Development  • Practical CodeIgniter 3  • Vulcan - CLI Tools for CI4
Reply

#12
(04-28-2016, 04:07 AM)dmyers Wrote:
(04-27-2016, 09:24 PM)albertleao Wrote:
(04-20-2016, 04:07 PM)acsv Wrote: I use CI for it's simplicity.

I have found Laravel a complete PITA to install and configure.

To each his own. My company uses CI but I have also built on laravel. Laravel is FAR more powerful out of the box, but CI is very easy to get going.

How would you compare them speed and memory wise? I know of another framework which adds a ton of "great features" automagically for you (in some cases even if you don't need them they are loaded) Unfortunately, the added extra automagic made it very slow and a memory hog in a real word high volume environment. Now they are adding on even more code to find all kinds of way's to speed it up and work around code.

One reason I personally enjoy using CI is that I start small and fast and build/add on what I need. Instead of getting all kinds of "extras" and then trying to work around and turn off the ones I don't need.

DMyers

I've built mulitple apps in l4, l5 and codeigniter. 

Codeigniter is certainly quicker out of the box than both L5 and L4 . At the end of the day it also evens out for me because for me to get CI to do everything I want, I end up reinventing the wheel and doing what is already baked into L4 and L5 anyways.

I've found that Laravel has a lot of features that help you get going very very quickly. From a better routing system, to middleware, Eloquent, and Blade, you can build a higher quality app much quicker than you can in CI3. On top of all that, using PHPUnit to test a Laravel app works right out of the box too and if you're developing enterprise software, this is a must. 

I feel a lot of codeigniter developers that hate on laravel have been in the CI world too long and just hate on things they don't necessarily understand because they haven't expanded outside of their world. Things like queues, migrations, task scheduling, and validation are all far more advanced than anything in CI3 but might be advanced for a lot of CI3 devs.

Now... I love Codeigniter because my company runs a very built out and custom version of the framework, but me and my devs have also spent countless hours coding thing that are already in laravel. Lately, we've been pulling in more and more libraries from Laravel to be a part of our application.

I'm hoping CI 4 becomes a lot more modular and allows for better unit testing and includes additional features like route filters/middleware, expanded validation, and better CMD functions like migrations.
Codeigniter is simply one of the tools you need to learn to be a successful developer. Always add more tools to your coding arsenal!
Reply

#13
(04-28-2016, 12:31 PM)albertleao Wrote: I feel a lot of codeigniter developers that hate on laravel have been in the CI world too long and just hate on things they don't necessarily understand because they haven't expanded outside of their world. Things like queues, migrations, task scheduling, and validation are all far more advanced than anything in CI3 but might be advanced for a lot of CI3 devs.

- Going out of your way to tell us how awesome Laravel is - check
- While doing so, belittle CodeIgniter - check
- Talking down on a large part of the CI community - check

Hmmm ... say why do a lot of "CI3 devs" hate on Laravel again?

Older CI community members could in fact have a few more reasons to hate on Laravel, but it's this kind of attitude that invites the hate from all other non-Laravel developers. You need to stop shoving it down people's throats.
Reply

#14
(04-28-2016, 12:31 PM)albertleao Wrote: I've found that Laravel has a lot of features that help you get going very very quickly. From a better routing system, to middleware, Eloquent, and Blade, you can build a higher quality app much quicker than you can in CI3. On top of all that, using PHPUnit to test a Laravel app works right out of the box too and if you're developing enterprise software, this is a must. 

I feel a lot of codeigniter developers that hate on laravel have been in the CI world too long and just hate on things they don't necessarily understand because they haven't expanded outside of their world. Things like queues, migrations, task scheduling, and validation are all far more advanced than anything in CI3 but might be advanced for a lot of CI3 devs.

And there are definitely some good things in Laravel, don't get me wrong. The four you mentioned there, queues, migrations, task_scheduling and validation are 4 of the nicer ones. To be fair, we already have migrations that are fairly equivalent, just not a command line bus to run it, but that takes 10 minutes to create one you use in all future projects.

Blade is fine, but not a requirement for me. I've found that 90% of what I need in a template engine can be done in a few small methods in MY_Controller, and I get the same results, so I could go either way on that one.

Eloquent I like sometimes, but find myself frustrated with it at other times, at that may just be because I haven't used it enough. Still waiting to see on my final verdict there.

I'm still undecided on Middleware in general, as it gets to the core of some of my main problems with Laravel, I'm discovering, and that's the fact that as much as possible things are hidden away from view when you're trying to analyze the code. Everything's implicit magic which, once you become intimately familiar the framework, all makes sense. To me, I've found a lot of it unnecessary and easily done in simpler, more explicit ways that would, granted, kill a little of the "beauty" that Taylor strives for.

So, part of it's definitely a personal preference in how much we're willing to use and put up with abstractions that can bite you down the road, if you need to do anything outside of the normal. On the plus side, there seems to be 4 different ways to do anything, so you can usually work out a way.
Support Development  • Practical CodeIgniter 3  • Vulcan - CLI Tools for CI4
Reply

#15
(04-28-2016, 01:19 PM)Narf Wrote:
(04-28-2016, 12:31 PM)albertleao Wrote: I feel a lot of codeigniter developers that hate on laravel have been in the CI world too long and just hate on things they don't necessarily understand because they haven't expanded outside of their world. Things like queues, migrations, task scheduling, and validation are all far more advanced than anything in CI3 but might be advanced for a lot of CI3 devs.

- Going out of your way to tell us how awesome Laravel is - check
- While doing so, belittle CodeIgniter - check
- Talking down on a large part of the CI community - check

Hmmm ... say why do a lot of "CI3 devs" hate on Laravel again?

Older CI community members could in fact have a few more reasons to hate on Laravel, but it's this kind of attitude that invites the hate from all other non-Laravel developers. You need to stop shoving it down people's throats.

@Narf
My apologies if I came across that way. I'm a CI developer firstly and laravel when I'm told to. I was simply answering the question asked to me, and as Killishan says in the post above, there are several things in Laravel that are considered "nice".

I know I'm not wrong in saying that Laravel comes with more features than Codeigniter, but that doesn't mean it's better, it just means it's different. I consider myself unbiased when it comes to php frameworks, after all, they are just tools to create what you want to do, and for some cases one is better than the other.

I really want to know where I belittled Codeigniter though. I think it's pretty clear and concise that one of the main features of CI is having a small footprint and high performance, which is exactly what I stated in my first sentence, and Laravel is known for all of it's built in features, which is also what I stated in my post. If you meant belittling because I said it has less features, aren't I right?

I also think it's a little pre-emptive to say I'm talking down to CI devs. It's perfectly natural to be standoff-ish to new territories when it comes to programming. If I started talking about erlang and functional programming, many programmers here would probably be a little lost and that's natural. CI is geared towards a different kind of developer, and you being main person who has to deal with devs trying to help you on Git, I think you would understand that more than anyone.


@Killishan
I agree. I'm not a huge fan of template engines and ORMs being built into the framework. I've consulted on several projects that have front end frameworks or are just rest api servers and it's added overhead. Also, if it's required, it's fairly simple to add those features to CI or any other php framework.

Middleware is interesting, and it has really grown on me. It's cleaned up my code quite a bit and helped some of my team members understand things quicker.

When it comes to the other features we talked about, you're right, it takes 10 or so minutes to write some of that code, but when you're under contract and can't copy your code from one place to another, it's an annoying task to rewrite the wheel everytime.

I'm excited to see what's in store for CI4 and hope to be able to contribute in some way.

All in all, I'm not bashing Laravel or Codeigniter. Any decent developer should realize that every framework might be better for one task or another. Personally, I prefer Codeigniter when I'm going to be building a super custom application where I need to understand and tweak every little detail for my clients, but I prefer Laravel when I'm doing something more mainstream and will be heavily scrutinized in an enterprise. That's fair, isn't it?
Codeigniter is simply one of the tools you need to learn to be a successful developer. Always add more tools to your coding arsenal!
Reply

#16
(04-28-2016, 10:06 PM)albertleao Wrote: All in all, I'm not bashing Laravel or Codeigniter. Any decent developer should realize that every framework might be better for one task or another. Personally, I prefer Codeigniter when I'm going to be building a super custom application where I need to understand and tweak every little detail for my clients, but I prefer Laravel when I'm doing something more mainstream and will be heavily scrutinized in an enterprise. That's fair, isn't it?

Absolutely. Smile
Support Development  • Practical CodeIgniter 3  • Vulcan - CLI Tools for CI4
Reply

#17
(04-28-2016, 10:13 PM)kilishan Wrote:
(04-28-2016, 10:06 PM)albertleao Wrote: All in all, I'm not bashing Laravel or Codeigniter. Any decent developer should realize that every framework might be better for one task or another. Personally, I prefer Codeigniter when I'm going to be building a super custom application where I need to understand and tweak every little detail for my clients, but I prefer Laravel when I'm doing something more mainstream and will be heavily scrutinized in an enterprise. That's fair, isn't it?

Absolutely. Smile

I will say this, going through a blackduck scan with Laravel has been a serious pain in the past.
Codeigniter is simply one of the tools you need to learn to be a successful developer. Always add more tools to your coding arsenal!
Reply

#18
@donpwinston I can fully understand what you mean. I chose CI3 lately for my business project and I am loving it  Smile I have to admit that I am a junior web developer with 3 years of experience on my shoulders. At first I "learned" PHP, basic OOP principles, HTML, CSS, JS etc. and then the company I was working on decided that I should learn Symfony 1 (and Symfony 2 later) and it was a pits. This decision was one of the worst in my life. There was so much magic happening in the back of Symfony that I thought I had the wrong job. I couldn't get to it at this stage.

Programming with Symfony felt like: Alright everything is configured well (after a lot of time), the database is set up and I am rdy to go (after some CLI commands). Then I type sth. like generateWebsite(), magic happens and hopefully it will show the website as I want it to be, but nooooooo  Angry it doesn't. And I spend hours of hours to get a feel for what is happening in the background and how to customize magic behaviours. It really felt like a full stack web framework which doesn't fit my programming style/my needs. Then I quitted programming for quite some time (1,5 years) because I thought I am just not smart enough to get this deep into the magic as I wanted to get into it.

Then I revisited php-programming because I had still sth. in me that wanted to build things. I decided: This time I will compare frameworks on a basic level and stick to sth. with a great documentation. That's how I found CodeIgniter. I started with the tutorial followed by a small webapp after that. And how does it feel to programm with CodeIgniter? For me it's like VIM for PHP (PHPIM - PHP improved). I'm feeling more like a developer than I did at the Symfony days. I have all the control over my program. There is (at this stage) literally nothing, that feels magic to me. It's more like writing pure php code with the help of a toolkit. You can use things but you don't have to. You have the freedom (instead of learning a lot of conventions/configurations). I can concentrate more on dealing with complex algorithms instead of figuring out how the framework works.

And I can see ppl. pointing out: CodeIgniter does lack a lot of features e.g. an authentification system. But you can build it yourself if you need to. And I think it don't has to. It's more like a toolkit which helps you to accomplish tasks. It never does the job for you. Librarys should do it. And that is the point where I can see improvements. At this time you have to google libs to fit your needs. What would be the codeigniter way of downloading external libs? Maybe a section on the page with categories and a list of libs in that category with a brief description and some redditstyle up/downvotes to see that this lib is active and trusted by ppls etc. and then a link to the github page, where the user can download the lib. That would be a way to see what CodeIgniter is really capable of. But these are just first ideas. 

All in one can't say how much I love this framework. But sure at some time I will learn some laravel and revisit symphony after that. But not to stick with one framework. More like getting a feel for which framework fills the requirements for the job.

Cheers to the CodeIgniter devs and to everyone who is envolved in CodeIgniter. You did a GREAT job  Cool
Reply

#19
(05-02-2016, 12:01 AM)MaXxer Wrote: @donpwinston I can fully understand what you mean. I chose CI3 lately for my business project and I am loving it  Smile I have to admit that I am a junior web developer with 3 years of experience on my shoulders. At first I "learned" PHP, basic OOP principles, HTML, CSS, JS etc. and then the company I was working on decided that I should learn Symfony 1 (and Symfony 2 later) and it was a pits. This decision was one of the worst in my life. There was so much magic happening in the back of Symfony that I thought I had the wrong job. I couldn't get to it at this stage.

Programming with Symfony felt like: Alright everything is configured well (after a lot of time), the database is set up and I am rdy to go (after some CLI commands). Then I type sth. like generateWebsite(), magic happens and hopefully it will show the website as I want it to be, but nooooooo  Angry it doesn't. And I spend hours of hours to get a feel for what is happening in the background and how to customize magic behaviours. It really felt like a full stack web framework which doesn't fit my programming style/my needs. Then I quitted programming for quite some time (1,5 years) because I thought I am just not smart enough to get this deep into the magic as I wanted to get into it.

Then I revisited php-programming because I had still sth. in me that wanted to build things. I decided: This time I will compare frameworks on a basic level and stick to sth. with a great documentation. That's how I found CodeIgniter. I started with the tutorial followed by a small webapp after that. And how does it feel to programm with CodeIgniter? For me it's like VIM for PHP (PHPIM - PHP improved). I'm feeling more like a developer than I did at the Symfony days. I have all the control over my program. There is (at this stage) literally nothing, that feels magic to me. It's more like writing pure php code with the help of a toolkit. You can use things but you don't have to. You have the freedom (instead of learning a lot of conventions/configurations). I can concentrate more on dealing with complex algorithms instead of figuring out how the framework works.

And I can see ppl. pointing out: CodeIgniter does lack a lot of features e.g. an authentification system. But you can build it yourself if you need to. And I think it don't has to. It's more like a toolkit which helps you to accomplish tasks. It never does the job for you. Librarys should do it. And that is the point where I can see improvements. At this time you have to google libs to fit your needs. What would be the codeigniter way of downloading external libs? Maybe a section on the page with categories and a list of libs in that category with a brief description and some redditstyle up/downvotes to see that this lib is active and trusted by ppls etc. and then a link to the github page, where the user can download the lib. That would be a way to see what CodeIgniter is really capable of. But these are just first ideas. 

All in one can't say how much I love this framework. But sure at some time I will learn some laravel and revisit symphony after that. But not to stick with one framework. More like getting a feel for which framework fills the requirements for the job.

Cheers to the CodeIgniter devs and to everyone who is envolved in CodeIgniter. You did a GREAT job  Cool

You're absolutely right. Just as my signature says, codeigniter is just a toolkit. The debate really is what should be included in this basic toolkit.
Codeigniter is simply one of the tools you need to learn to be a successful developer. Always add more tools to your coding arsenal!
Reply

#20
Unfortunately the core group behind Laravel has a long and well documented history of slandering and mocking Codeigniter and its developers at every opportunity. Which has definitely bothered me - but then i consider all the Ruby and Java developers who have complete disdain for the entirety of PHP - and i laugh at the human comedy and get back to work. "Pride is a fools fortress."
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.