Es codeigniter es el mejor framework php?

Publicado en 'Programación' por ozk10, 15 Oct 2016.





  1. ozk10

    ozk10 Miembro frecuente

    Registro:
    18 Feb 2014
    Mensajes:
    205
    Likes:
    40




    Recien lo conozco ahi en la chamba. Es la columna vertebral del negocio...hay un solo programador y cobra rico el chibolo..es el unico que entiende el codigo.
     


  2. Epikurolibre

    Epikurolibre Miembro de plata

    Registro:
    3 Oct 2010
    Mensajes:
    2,682
    Likes:
    820
    Pregunta pulpin, respuesta para un pulpin: NO, cada framework tiene su utilidad ya depende de cuanto te especialice en su uso.
    Es como si me preguntaras usar maven o gradle?, Depende de cual manejes.
     
  3. kracry

    kracry Miembro nuevo

    Registro:
    8 Mar 2013
    Mensajes:
    39
    Likes:
    1
    CodeIgniter, es bueno, es rápido de aprender y no tiene mucha cosa para complicarse el desarrollo.
    Aunque te recomiendo que aprendas otro de más nivel como Zend.
     
  4. Corzario

    Corzario Miembro nuevo

    Registro:
    31 Dic 2012
    Mensajes:
    37
    Likes:
    5
    hoy en dia codeigniter se ha convertido en el framework mas facil de aprender, excelente para los novatos, si quieres usar algo avanzado aprende zend o symfony
     
  5. circuitox

    circuitox Miembro frecuente

    Registro:
    20 Abr 2008
    Mensajes:
    230
    Likes:
    16
    Conoce Laravel, en lo personal es lo mejor y lo más moderno.
     
  6. kaloja

    kaloja Miembro frecuente

    Registro:
    28 Ago 2012
    Mensajes:
    177
    Likes:
    35
    Ninguno es mejor q el otro, lo importante es saberlo utilizar.
    Y si quieres una opinion sobre ese framework te dire q' es el mas facil que he tocado, eso no significa q sea malo. Para mi es lo justo y necesario para aplicar una buen patron de programacion.
     
  7. Fumador

    Fumador Miembro frecuente

    Registro:
    22 Jun 2009
    Mensajes:
    162
    Likes:
    10
    La ventaja de Codeigniter es que es un framework realmente ligero y facilísimo de implementar, porque tiene lo justo para que empieces cualquier tipo de proyecto. Siempre ten la consigna de que no hay necesidad de "ir a comprar pan con un Ferrari". Puedes desarrollar aplicaciones chiquitas y huevaditas con lo ordenado, seguro y estandar de un framework. Para proyectos "burocráticamente" grandes ya puedes usar Laravel (Zend bah!)
     
  8. kracry

    kracry Miembro nuevo

    Registro:
    8 Mar 2013
    Mensajes:
    39
    Likes:
    1
    CodeIgniter con sus aprox 3Mb de tamaño, debería hacer sentir verguenza a los cientos de Mbs de los jars de Java.
    Spirng solito tiene como 150 Mb.
     
  9. JavaPetit

    JavaPetit Miembro frecuente

    Registro:
    16 May 2011
    Mensajes:
    152
    Likes:
    28
    Bueno amigo que quieres que te diga, no puedes comparar toda la funcionalidad que ofrece spring framework con lo que ofrece CodeIgnitier.

    Aparte spring framework dependiendo de la funcionalidad que necesitas utilizar el peso de jars varia de 600kb a varios megas.

    Como dicen arriba codeignitier siempre ha sido un framework sencillo de usar y muy popular. El problema era que habia esta estancado en su versión 2 desde hace varios años, por lo que otros framework nuevos y otros famosos estaban evolucionando y este no. Ahora hace un año mas o menos que sacaron la versión 3 y ya estan sacando alfas de la version 4 por lo que parece que no va a quedar en el olvido este framework.

    Saludos
     
  10. kracry

    kracry Miembro nuevo

    Registro:
    8 Mar 2013
    Mensajes:
    39
    Likes:
    1
    No puedo comparar toda la funcionalidad de ambos frameworks, pero si la funcionalidad que tienen en común.
    Como por ejemplo MVC, en donde desarrollar una simple pagina, en CodeIgniter toma pocos minutos en comparación de Spring u otro, en donde tienes que usar el triple de tiempo, siendo generosos.
    Y si es necesario tener más funcionalidades, en PHP hay casi para todo: BDs en SQL, NoSQL, pdfs, seguridad, cacheo, etc.
    En java, para tener alguna nueva funcionalidad tienes que tener decenas y decenas de dependencias.
    Y no es solo la comparación en tamaño de MBs,sino tambien, velocidad de ejecución, tiempo de desarrollo (el estar compilando y compilando, errores de los servidores, etc).
     
    Última edición: 8 Nov 2016
  11. G_Pisfato

    G_Pisfato Miembro maestro

    Registro:
    15 Nov 2015
    Mensajes:
    442
    Likes:
    49
    ¿Rapidez de ejecución? ¿Cómo puede ser PHP más rápido que Java siendo que este ya está en su lenguaje máquina (bytecodes)?
     
  12. JavaPetit

    JavaPetit Miembro frecuente

    Registro:
    16 May 2011
    Mensajes:
    152
    Likes:
    28
    Amigo yo no soy muy fan de los tipos de posts que hacen comparaciones de tecnologías con falta de objetividad y plantean una división en la gente que no es realista. Las tecnologías son solo herramientas y como tales hay unas que son buenas para clavar clavos y otras para apretar tornillos, esto no las hace ni mejores ni peores. Existen algunas herramientas que tiene más de un uso y otras que son más especializadas eso es todo. Lo importante como desarrollador es que no te aferres a al lenguaje que sabes usar como si fuera un credo infalible. Lo importante es que mantengas la mente abierta y que agregues más de esas tecnologías a tu caja de herramientas y te hagas un desarrollador más completo.

    Ten en cuenta lo siguiente:
    - Los lenguajes compilados tienen mejor rendimiento que los interpretados. el primer tiempo de ejecución del compilado puede ser más lento que la primera ejecución de un interpretado pero las sucesivas ejecuciones de un compilado son más rápidas que el del interpretado y cuando manejas más volumen de carga se nota más la diferencia.
    - Php se puede tener una pesudo compilación por medio del zend framework, pero casi la totalidad de sitios web no lo usa por lo que es interpretado.
    - El tiempo de desarrollo depende mucho del planteamiento del problema y que si la tecnología que eliges va a ayudarte a resolver esos problemas, si no los cubre vas a tener que hacerlo tu. No porque sea Java va a ser más lento el desarrollo o porque en php no se tenga que compilar va a ser mas rápido.
    - En java puedes manejar de forma ordenada las dependencias con un proyecto maven, de la misma forma que lo puedes hacer en .Net por medio de NuGet y en php por medio de Composer, yo los utilizo así cuando me toca hacer un proyecto en Java, en .Net o en Php.
    -También para utilizar muchas cosas de php uno tiene que ir activándolas en el archivo .ini y si ademas no están instaladas uno tiene que instalarlas de los repositorios en un linux, o bajarte los ddl o compilar el código fuente para windows server, por ejemplo he tenido amigos con varios problemas para driver pdo para sistemas server windows de 64 bits.
    -etc, etc, etc :p

    Saludos
     
  13. kracry

    kracry Miembro nuevo

    Registro:
    8 Mar 2013
    Mensajes:
    39
    Likes:
    1
    Y los bytecodes donde se ejecutan? Por eso Java tiene un JIT.

    - La pseudocompilación (a la que te refieres) no es hecha por el framework Zend, amigo, sino por el motor Zend, el framework tiene el mismo porque es mantenido por el mismo grupo del lenguaje.
    - Creo que no explique bien cuando me referia a la compilación en Java, me refería a que es frecuente en que se pierde tiempo, en volver a aplicar la compilación, el build y el despliegue.
    - El tiempo de desarrollo al que me refería es al de codificación, sin considerar las fases previas.
    - El manejo de dependencias no es problemas, pero créeme que cuando añades librerias y capas a tu software, se hará más lento.

    - Claro que PHP actualmente ha mejorado mucho, antes quizá hubiera tenido mis dudas para trabajar con él, pero ahora ya tiene un OOP aceptable, pero tambien supe que el JDK de Java para 64 bits daba problemas en Windows 7, sin ir más alla.
     
  14. JavaPetit

    JavaPetit Miembro frecuente

    Registro:
    16 May 2011
    Mensajes:
    152
    Likes:
    28
    -Si me confundi debi poner motor.

    -Lo de la codificación es una de las razones porque la gente y las empresas utilizan mucho Java y .Net, ya que hay muchas librerías libres y/o de pago, que son respaldadas con empresas que dan soporte, que ya hacen toda la funcionalidad que uno necesita, por lo que tienen que escribir menos código y centrarse sólo en la lógica del negocio.
    Si te refieres a que la sintaxis de un lenguaje en particular te hace escribir algo más de código que la sintaxis de otro lenguaje, las plataformas Java y .Net te permiten usar otros lenguajes como Scala, python y hasta el mismo php, reutilizando las librerías escritas en los lenguajes que los vio nacer como Java y C#.

    - Si le agregas capas a tu software siempre va a ser mas lento, eso es obvio en todo entorno de desarrollo independiente si estas usando Java, php o .Net. Si quieres rapidez puedes soló utilizar servlets en Java , WCF en .net o una simple página PHP.
    Porque no se recomienda utilizar sólo servlets para escribir un aplicativo web grande y que sea rápido, porque vas a demorar mas y va a ser duro de mantener.
    Lo mismo para WCF, tendrías que escribir un enrutador de mapee las peticiones a un archivo de templates, otro componente que devuelva el html, etc. Donde pierdes tiempo en vez de utilizar un framework que haga esa funcionalidad que por lo general lo tienen la mayoria de MVC web.
    Entonces al agregar eso va a ser mas lento. Pero uno tiene que buscar un equilibrio entre tiempo, mantenimiento y rendimiento. Recuerda el cliente no te paga para que hagas un componente que muestre html, el cliente te paga para que su negocio se vea plasmado en el aplicativo por así decirlo y mientras más rapido lo hagas mejor para el.
    Lo mismo aplica para php no es lo mismo usar Slim framework que Laravel. Es obvio que slim es mucho más rápido, pero de que depende utilizar uno u otro, del problema que vas a resolver en el planteamiento previo.

    - Lo de perder tiempo en el build y despliegue depende como lo haz planificado, no se como será tu modo de trabajar, pero yo lo hago de la siguiente forma:

    Servicios web en php, cuando quiero subir una versión al servidor de prueba:
    - Hago un push a una rama de testing que cree en Github.
    - Github envía un mensaje a un Jenkins que configuré en el server.
    - El Jenkins se descarga el código de Github y ejecuta las pruebas que escribí del php unit, si pasa las pruebas copia los archivos en la carpeta del servidor web, si falla no. En ambos casos me envía un correo o una notificación push a mi celular.

    Aplicativo web html, javascript, angularjs, cuando quiero subir una versión al servidor de prueba.
    - Hago un push a una rama de testing que cree en Github.
    - Github envía un mensaje a un Jenkins que configuré en el server.
    - El Jenkins se descarga el código de Github y ejecuta un comando Gulp que une y minimiza los archivos js, css, aquí todavía no escribo pruebas ya que no he tenido tiempo de ahondar mucho en ese tema de pruebas con AngularJS. Al terminar me envía un correo o una notificación push a mi celular.

    Servicios web en Spring MVC, cuando quiero subir una versión al servidor de prueba.
    - Hago un push a una rama de testing que cree en Github.
    - Github envía un mensaje a un Jenkins que configuré en el server.
    - El Jenkins se descarga el código de Github, compila y ejecuta las pruebas que escribí del JUnit, si pasa las pruebas copia los archivos compilados en la carpeta del servidor web, si falla no. En ambos casos me envía un correo o una notificación push a mi celular.

    Yo sólo doy la orden del push al github que sola toma un par de segundos y mientras de forma automática se hace el trabajo yo estoy haciendo otras cosas y cuando termina de hacerlo me lo hace saber mediante un correo o una notificacion a mi celular.

    Si te refieres a que compila cada vez que pruebas en la maquina local, eso será uno o dos segundos por cada prueba que haces, no llega ni a los 2 minutos en un día de trabajo, por lo que me parece más un pretexto.

    Como explique arriba las herramientas son herramientas, hay que saber cuando y donde usarlas ya que ninguna soluciona todos los problemas que nos dan.

    Saludos
     
  15. INsu

    INsu Miembro nuevo

    Registro:
    19 Ene 2009
    Mensajes:
    11
    Likes:
    1
    Yo le voy a Laravel. Sus 30 megas no lo hacen pesado.

    Java es para aplicaciones corporativas.
     
  16. kracry

    kracry Miembro nuevo

    Registro:
    8 Mar 2013
    Mensajes:
    39
    Likes:
    1
    Bueno, sabrás que no se hace sólo un build, despliegue durante la codificación.
    Creo que tu te pasaste a la fase de despliegue.

    Yo no soy adverso a usar Java, pero la verdad, el Write once, run every where, le ha dado paso a una proliferación de software adicional que poco contribuye al desarrollo.

    Volviendo a CodeIgniter, creo que su campo de acción es para pequeños a medianos proyectos, por eso su facilidad de aprendizaje es un punto a su favor.

    Claro, Java tiene ese campo, pero PHP al menos en el Perú tiene buenos ejemplos : Aptitus, bumeran, neoauto, estan con PHP.
     
  17. INsu

    INsu Miembro nuevo

    Registro:
    19 Ene 2009
    Mensajes:
    11
    Likes:
    1
    PHP tiene para medirse con Phyton y Rubi. Java es otro level, al menos así me enseñaron :v