CodeIgniter is good, Laravel is great, but I move to python
프로그래밍
2014-08-13 , 조회 (42298) , 추천 (0) , 스크랩 (0)
출처
원문
Long long time ago, when I learn about "web programming" at the first time, everything was easy. At that time, know some HTML tag and PHP syntax already make you a web developer. But honestly, I was never really enjoy building a website. Making "hello world" in PHP is actually very simple, just do
echo "hello world"
and that is. But your website is not just consists of several hello world, right? You will also need a database connection, several logic, and good presentation. To make such a thing is actually also easy. Just mix them up, and you will get what you want, a database connection, several logic, good presentation in a terrible spaghetti code. As your web scales, your code will be more and more complicated. And to make it worse, all of database, logic and presentation codes are mixed up together in a single file. Some people told me to make several separation. It is help, but not that much. Using this approach, you will get your code become unreadable by mere human being. A month after finishing your program, your code will looks like something written by alien...

Such a problem make me try to stay away from web development. But, as everyone know, desktop application is become less popular than web application. Yes, some desktop application such eclipse, libre-office, diablo, starcraft, gimp etc are still there (and probably will always there for next 20 years). But can you see that web & mobile application are start to take over the world? Nowadays internet access has become cheaper than ever. So, if you don't want to die like this one:
Figure 1. Poor programmer
You might need to deal with web or mobile development. As for me, mobile development is not sounds that good. Nowadays we have android, IOS, windows mobile and blackberry OS. Each has different API, different ways to develop application, and therefore I will need more effort to gain more users. Oh, BTW have you ever heard about symbian? It was popular for a while. I just wonder how wasteful is symbian developer knowledge nowadays. Okay, stop talking about it. So how about web? I think web is a bit better, since what you need to have just a server, and what your user's need is just a browser (and of course internet connection).

Okay, so I've decide to go with web. But wait, that cumbersome spaghetti PHP & HTML code again? Nowadays we should also combine them with javascript and CSS. You will need to maintain peace among those 4 languages, and it definitely is not an easy task.

Thanks God, there is CodeIgniter. CodeIgniter is a very simple MVC PHP framework. Here you can have your code separated in 3 parts:
  • Models shall contains of what your application can do
  • Views shall contains the presentation
  • Controllers shall gluing Models and Views
I really like CodeIgniter. At least, I was really like CodeIgniter. You cannot forgot your first girlfriend right? CodeIgniter is like my web-framework first love. At that time, everything was good. I even make my own CMS based on CodeIgniter http://www.getnocms.com/ and get some job done with it. It is a very cool CMS. Trust me :).  I still maintain No-CMS and make sure that it will run in even the legacy-ancient server, so that everyone can use it. No-CMS also has a cute CRUD module generator that will save your time and effort.

As time pass, some other better PHP framework show off. Let's say, FuelPHP and Laravel. They adopt some architecture concept, and add their own. They support PHP 5.3 and blade-edge technology. Laravel support composer (something like php package management), custom routing, built-in ORM, bundles and many more. They really are good framework.

So how about CodeIgniter? CodeIgniter is still good, but laravel is great. Many people start to learn laravel and forsake CodeIgniter. Especially after this reading this article: http://heybigname.com/2012/05/06/why-codeigniter-is-dead/. Nowadays, CodeIgniter is still a beginner-good-to-learn-framework. People use it to develop things in shared hosting. CodeIgniter still have a lot of fans. But Laravel seems to be more sexy.

As for me, I never feel comfortable with laravel. I know it is better, but I just feel uncomfortable with it. There are features I probably never need of. 

And surprisingly enough, I feel that somehow laravel is similar to django. Okay, so what is django?
Django is python the facto web framework. Almost like ruby on rails for ruby. I was once ever play with django, and not feel comfortable with that. Django is great, but it doesn't allow me to do my job without have a steep learning curve with the framework itself.

Even if I don't like django, I like python. Python is very readable compared to PHP. And PHP composer sounds like python's egg or ruby's gem. For me, python looks like a better future PHP, and if I should switch the framework, I prefer to also switch the language. So I do some research about python web-framework. There are many of them. Let's say pylon, zope, web2py, bottlepy, cherrypy and flask.

Actually I like web2py. It is easy, and I don't need to do define any manual-routing like django. I feels like CodeIgniter in python. You don't even need to set up anything. It come with everything included, even it's own webserver. But web2py is not explicit. There are a some autoload magic (like CodeIgniter) that make intelisense (smart autocompletion) in my IDE doesn't work as expected.

Okay, at this rate I might looks like a dumb-noob who always complain about things. I really like python, but I want something like CodeIgniter (with better capability of course). And I can't just wait till someone genius build such a thing and provide it for free. There must be someone doing something to accomplish what I want. And the one who really know what I want is just me. This is why I make kokoropy 
Figure 2. The logo of my beloved MVC python framework
Kokoropy is based on bottlepy, sqlalchemy and beaker. It is MVC, but not necessarily OOP. I make kokoropy to make people comfortable and do things easily. I will make kokoropy as least as good as No-CMS now. I really hope it gonna works :)


출처 : http://gofrendi.blogspot.kr/2013/03/codeigniter-is-good-laravel-is-great.html
프로그래밍,파이썬,Python,framework

트랙백:  수신불가
추천 스크랩 전체목록