Opinión de django

F

Buenas,

Estoy haciendo un blog desde 0 con Yiiframework (php), esta bastante avanzado, pero tengo pensando empezar algún otro proyecto.
He mirado y probado codeigniter y symfony2, ambos aspectos básicos (hello work y algo de trabajar con bases de datos), pero me gustaría probar con algo que cambie un poco de lenguaje y tal, ROR lo descarto ya que ruby prácticamente es ror hasta donde yo se, entonces las opciones son python y su django.

Pero tengo varias dudas, django se creo hace muchos años, se ha adaptado bien a estos tiempos? No lo he probado pero el concepto parece un poco los bundles de symfony2.
Su sistema de plantillas, que casualmente tmb se ha inspirado symfony, esta limitado?
Que tal en cuanto a flexibilidad?
He leído que las migraciones son un dolor de cabeza , que pensais?.
Alguien que haya trabajado o probado con él y otros frameworks puede dar su opinión?
No se, como lo veis, perder el tiempo?, mejor centrarse en symfony2/CI?

El proyecto no lo tengo decidido, sera algo que requiera de cierta dificultad para pelearme con el framework, y en cuando al servidor para django ya lo tengo montado en casa con un debian virtualizado, creo que funcional, así que no es un punto negativo (de momento).

Saludos.

S

Te voy a poner una opción mas:
http://nodejs.org/
http://expressjs.com/

F

Gracias por la respuesta, y estoy abierto a otras opciones claro, aunque he de reconocer que no he buscado info sobre esto ya que no soy muy fan de js, me parece un lenguaje muy "sucio" .

PiradoIV

Lo primero de todo, elige el lenguaje de programación con el que te sientas cómodo, si es PHP, programa en PHP y especialízate bien... de resto, vas a poder hacer lo que quieras con el framework que quieras.

El problema que te vas a encontrar con Ruby, Python y NodeJS es, básicamente, que es un dolor para publicarlo en los servidores que hay por ahí, de resto, son puro amor y una gozada trabajar con los frameworks que tienen.

Personalmente prefiero Ruby on Rails que Django... respecto a NodeJS, es simplemente espectacular. En el curro usamos PHP para los proyectos de verdad, tirando de CodeIgniter + HMVC.

2 1 respuesta
F

Comodo... realmente es que no he probado ni python, ni ruby, ni ninguno frameworks js que tire en servidor ni nada por el estilo, últimamente solo estoy tocando php y unas pinceladas de jquery, y me estoy mal acostumbrando la verdad.

Simplemente me gustaría probar alguno mas en profundidad en vez de tocar muchos mal, pero estoy indeciso y no quiero tener la sensación de tirar el tiempo.

SikorZ

Mi consejo para paginas web de calidad es con lo que trabajamos en los proyectos de mi trabajo:

JSF 2.0 (java2e), con los frameworks de Hibernate/JPA y los plugs de iceface. Dudo que haya algo mejor para paginas webs...

1 1 respuesta
F

#6 Los proyectos en java y su infraestructura no son muy costosos para una sola persona¿?.

Alguien me recomendó alguna vez http://grails.org/ en java , por opciones no es desde luego.

1 respuesta
SikorZ

#7 Para hacer una web de calidad es lo mejor, no obstante si quieres hacer una web de chichinabo para algo 'sencillo' y que no tenga mas chica con el tiempo y el mantenimiento deberias usar PHP. Es lo que hago yo, webs de chichinabo uso PHP que es un juego de niños y para cosas en condiciones JSF.

B

Django da gusto comparado con JEE para mi gusto. Si te gusta java prueba el Play! framework, que parece como Django pero un poco más cutre xD

1 1 respuesta
EnZo

#1 En mi opinion diria que va a ser un peliculon la verdad...

spoiler
5
BLZKZ

java y web y calidad
XDDDDDDDDDDDd

casi

4
SikorZ

#9 Has probado la setup que te he dicho? Es un gustazo no, lo siguiente, hacer cosas curradisimas en -2 de lineas y ultra faciles de mantener/mejorar. Yo de todos los lenguajes y setups que he probado en el entorno web, JSF con Hibernate/JPA e icefaces se lleva la palma de una forma bestial, para mi es lo mejor en el entorno web para paginas de calidad y en condiciones..

Te pongo un ejemplito, el tipico listado de datos, pues seria tal que asi (muy toscamente)

<ice:dataTable value="#{ManagedBean.listadoClientes}">
   <f:facet name="header">
      <h:outputText value="#{msg['lbl.nombre']}" />
   </f:facet>
   <h:outputText value="#{ManagedBean.listadoClientes.nombre}" />
</ice:dataTable>

En esas 5 lineas en la vista ya tienes montado un listado mostrando el nombre, quieres añadirle cosas guapas? Pues con añadirle propiedades en el datatable ya haces paginacion y mil cosas...

Aqui te dejo un showcase y puedes revisar algunas de las cosas que se pueden hacer:
http://icefaces-showcase.icesoft.org/showcase.jsf?grp=compatMenu&exp=dataTable

Yo de todo lo que he hecho en entorno web esto me parece totalmente superior a todo lo demas y esto es solo un pequeño detalle de todo a lo que llega

Si parece que me las doy de sabiondo no es mi intencion, mi intencion es que si no lo conoces merece mucho la pena echarle un ojo porque me parece sublime, de hecho no veo nada que pueda simplificarse todavia mas o funciones que eche de menos, casi cualquier cosa que se te ocurra quizas sea algo en plan paginator="true" o cosas asi xD

EDIT: Puntuar que este tipo de setups es para proyectos realmente grandes y con un mantenimiento y evolutivos en el tiempo, para webs simples y toscas mejor usar PHP por ejemplo. De hecho esta es la setup que usamos en el trabajo para proyectos del gobierno y de la junta de andalucia

2 respuestas
BLZKZ

#12 y que tal esas webs en tablets y teléfonos? bien no? y que tal eso de usar el evento de doble click en dispositivos táctiles? de lujo verdad?

1 respuesta
B

#12: Yo he trabajado con Hibernate / Spring / Tapestry y me pareció demasiado lento en comparación con Django. También porque Django es más simple y tal.

Pero ya el hecho de auto-montarte el admin te ahorra mogollón de tiempo.

Yo PHP espero no usarlo en mi vida, es un lenguaje que aborrezco.

2 1 respuesta
zoeshadow

PHP tiene una mala fama merecida, ya que es un lenguaje con un nivel de entrada muy bajo, en el que cualquiera puede hacer una página web a pelo, sin conocer buenas practicas, ni que es la separación de conceptos, etc.

A diferencia de otros lenguajes que, si quieres programar una web necesitas usar por narices un framework, que en mayor o menor medida te obliga a usar unas buenas practicas, separar conceptos ( MVC ), y preocuparte un poco mas por la seguridad.

Yo tuve en su momento la misma duda que tu #1 y al final no saqué nada en claro, ahora mismo estoy con Symfony2 ya que estoy estudiando PHP en clase y por continuar con la sintaxis, algunas de las conclusiones que saqué:

-RoR no lo probé, no hice mucho mas que alguna pijada en Ruby y no me gustó nada la sintaxis, así que ni me molesté en sumergirme en RoR.

-Django tiene una curva de aprendizaje relativamente moderada ( sobretodo sino has trabajado con ningún framework MVC como yo en ese momento ), a eso hay que sumarle la dificultad añadida ( comparado con PHP ) de hacer Deployment en la mayoría de servidores web que tenemos en España.

-Probé Flask, un microframework web para Python que me gustó bastante, mucho mas ligero que Django, que seguramente sea mejor para sacar adelante pequeños proyectos , así como la sintaxis de Python, que viniendo de Java era una gozada.

-En cuanto a ofertas de trabajo en España, J2EE -> PHP (Symfony, Codeigniter ) -> RoR/Django
quedándose estos últimos relegados al uso en nuevas Startups.

1 respuesta
B

#15: Sí pero los puestos de Java en España son una putísima mierda, y los de startups suelen darles bastantes vueltas.

Soy de Java eh, pero... basura.

#17: Claro que si te vas a Google o Atlassian, la cosa cambia xDDD. Pero vamos que yo le estoy pillando manía a Java por la mierda de las consultoras pff

1 respuesta
zoeshadow

#16 Perdona, hablaba de cantidad, no de calidad, que no lo habia aclarado, tienes razón que en cuanto a calidad la mayoria de trabajos de Java dejaran mucho que desear...

1 1 respuesta
B

Por cierto, Play! puede usarse con Scala también xD

#19: De todas formas a mí de Java me preocupan más las condiciones (horas extras sin pagar, montones de inútiles en cada oficina...) que el salario. También diría que los lenguajes funcionales se pagan bastante bien.

B

La clasificación de salario medio quedaría así. Ruby/Python > Java > cualquier cosa > PHP.

1 1 respuesta
HoTiTo

Ahora la moda es RoR. Hay infinidad de proyectos que se mantienen sobre RoR y es puro amor (miles de gemas para elegir que te facilitan la vida una pasada).

Djando es el RoR de Python. Personalmente, prefiero Python a Ruby, pero es cuestión de gustos. Es cierto que RoR tiene quizá algo más de apoyo/documentación/gemas que Django, pero la antigüedad de ambos es similar.

Yo llevé a cabo hace unos meses un proyecto gordo en Django y te puedo asegurar que es genial. Pruébalo si quieres que no te defraudará (lo mismo que con RoR).

eisenfaust

Ambos lenguajes son blerg. En cuanto a los frameworks si buscas mayor ROI, tanto a nivel de salario como número de ofertas, RoR > Django.

F

A ver, estoy en paro y las ofertas que me suelen llamar suelen ser algo relacionado con php (también es lo que mas me defiendo ...) , y dan vergüenza a nivel de condiciones como de proyectos.

Mi idea es mas o menos , aparte de terminar el proyecto con yii (que por cierto, me ha parecido buen framework, aquí en españa no esta de moda, eso si , ocupa una pasada ), empezar con otras para tener cosas presentables y poder aprender, pero obviamente no puedo mirar todas las opciones ya que son infinitas.

Esta semana decidiré un proyecto y el lenguaje / framework , quizás me anime a probar ambos superficialmente y luego decidir.

Java tengo preparado un entorno con tomcat para hibernate + spring MVC + cualquier framework para la vista, pero solo con los problemas que me dio para montar la infraestructura, que si mirar maven, eclipse , su pesadez, sus plugins y sus bugs infinitos, conflictos de dependencia de paquetes por instalar plugins... me pareció muy engorroso para empezar ningún proyecto y lo tengo aparcado, si por lo que sea me animo con Java mirare cosas como play! , grails o algo de esto.

En cambio tener funcional django fue un momento, y lo que he mirado de ror también parece muy fácil.

Soy consciente que una cosa es en local y otra en hostings compartidos, pero es que tampoco me dan soporte para symfony2 en unas cuantas que he mirado (Dinahosting y cdmon).

Por cierto, he leído que los "plugins" o bundles de terceros para symfony2 le falta un poco de madurez, es cierto?.

Respecto a lo del salario no estoy en condiciones de pedir nada ya que no tengo apenas experiencia , me interesa mas proyectos que me resulten interesantes.

1 respuesta
SikorZ

#13 No me las vengas de chulo tio que ya te he visto liarla parda en muchos sitios...

En los moviles/tablets es que ni lo he probado. Como te he dicho llevamos proyectos del govierno y de la junta de andalucia y te aseguro que ninguno lo usa nadie en nada que no sea un ordenador con internet explorer y una resolucion mierdosa asi que lo que dices es inutil. Ah y por cierto, si quiero que los contenidos de una aplicacion se vean guay en moviles/tabs hariamos una app, como debe ser, no hacemos chapuzas.

Y te pido por favor si no te importa que dejes de citarme porque te he visto por el foro y paso de seguirte el juego de 'oh soy un dios y todos vosotros unos panolis'

#14 Buah yo la setup que uso en el curro me parece simplemente perfecta... es una puta delicia montarte cualquier funcion en nada de tiempo y que quede guapisima... Ahora, en terminos de rendimiento... pues a mi nunca me ha gustado el tema de la VM y la memoria que chupa, ademas nosotros cuidamos de una forma bestia el rendimiento y pienso que si se saben hacer las cosas bien se puede conseguir un buen nivel de rendimiento dentro de lo que cabe, pero claro, eso requiere conocimiento y eso y echarle horas..

2 respuestas
SikorZ

duplicado

tracker086

Podrías probar ASP.NET MVC. Es una gozada, rápido, sencillo, es algo más fácil que Django y ROR de hacer deployment pero peor que PHP obviamente. El lenguaje es C# que es muy parecido a Java. Viene totalmente adaptado de base para responsive y así funcionar bastante bien.

Además ahora puedes usar SignalR que es sinceramente una pasada. Es para poder realizar conexiones bidireccionales con tu app web. Es decir, por ejemplo un chat, que cuando alguien mande un nuevo mensaje, lo notifique a todos los que estén en la web.

Etc..yo creo que es muy potente, además también se ven bastantes ofertas de trabajo para ASP.NET

MrTurbo

#22 Yo tengo corriendo varios proyectos en symfony2 en un virtual server de dinahosting.

PiradoIV

La verdad es que este tema es el AK o Colt de la web, cada uno barre para casa y va a decir que lo que usa es lo mejor. Si le das a PHP, prueba Frameworks de PHP y decántate por uno en concreto sacando varios proyectos medianamente de verdad, de lo contrario tu experiencia va a ser nula.

Y si tiras por Django o Ruby on Rails, según a qué empresa le vayas a hacer el curro, seguramente tengan a un administrador de sistemas que haga la parte del deploy, mano a mano contigo.

Si fuera tú, sabiendo ya PHP, le daría una oportunidad a CodeIgniter. Trastea si quieres también con Ruby on Rails para que veas "lo que hay fuera" y las deficiencias que tienen unos y otros.

¡Suerte!

#23 No sé lo que busca #1, pero me suena más al mundo freelancer... si tira por el camino de Java que le recomiendas y sin certificaciones, se va a comer los mocos.

1 1 respuesta
BLZKZ

#23 de govierno con v, así van esas webs

3
SikorZ

#27 Ah pues si es tema freelance yo no me complicaba mucho la vida, porque seguramente sean para proyectos pequeños y para eso usaria PHP que es mucho mas facil xD, en ese caso claro que es una buena opcion

B

La mala fama que tiene PHP viene de la pésima comunidad de usuarios que tiene. El 80% no se ha visto un patrón de diseño en su vida y se dedica a desarrollar módulos para CMS de dudosa fiabilidad. Cualquier lenguaje moderno es potente para cualquier cosa si se sabe usar y no hace falta recurrir a modas hipster para salir del paso. Para #1, si te gusta PHP, especialízate y deja de mirar otros lenguajes pues probablemente si profundizas te darás cuenta de que no sabes tanto como piensas. En este mundillo hay demasiado aprendiz de mucho maestro de nada.
Por cierto, Zend Framework es de los que mas se piden a nivel laboral y casi nadie lo nombra.

4 1 respuesta

Usuarios habituales