PHP - Ruby - ASP u otro?

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.897
Estimados,

Tengo planeado hacer una aplicación que según yo tiene proyección a futuro.

Me interesan dos cosas por sobre el resto. La velocidad de respuesta, y la interacción con PostgreSQL + PostGIS debe ser completa, porque mi idea es usar la mayor cantidad de funciones de la base de datos.

Le tengo recelo a ASP por el costo de los hostings, y a ruby porque nunca lo he usado. En PHP me manejo bastante bien, pero como es un emprendimiento propio, no tendría problemas en aprender otro lenguaje, y aumentar la cantidad de horas de desarrollo si obtengo un resultado mejor.

La aplicación tendrá gestión de usuarios y un foro.

Recomiendan algún lenguaje?
Aparte de eso, alguna recomendación de Framework?
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Si el único componente que tienes decidido de antemano es Postgres con Postgis, entonces yo diría que tienes dos opciones.

Primero, PHP. Si quieres hacer las cosas bien y no como maestro chasquilla, tienes que aprender el uso de un ORM decente para que a nivel de tu aplicación los modelos sean una representación coherente de lo que hay en base de datos. Doctrine ORM tiene extensiones geométricas que te permiten declarar tipos de variables especiales para postgis. Hay muchos frameworks que pueden "tomarse" de Doctrine: algo robusto pero con una respetable curva de aprendizaje como Symfony 2 o algo más minimalista como Slim o Silex que básicamente te resuelven el ruteo. Para todos ellos tendrás que usar algún motor de plantillas para el front. Yo he usado Twig, pero actualmente estoy optando por renderear todo en front usando Handlebars.

Segundo, tienes python, y en python hay un solo gran referente de frameworks que es django, y en django hay una extensión muy madura para trabajo geoespacial, que es geodjango:
https://docs.djangoproject.com/en/1.7/ref/contrib/gis/install/

Ignoro completamente si en ruby hay gemas geoespaciales, pero debe haber.

En node hay varias herramientas que te peemitirían levantar un sitio rápido. Si no fuera por el uso de Postgis te mandaría a usar loopback como backend, pero hay que hackear mucho para obtener geojson en el front, que se ha vuelto un estandar para aplicaciones front de mapas como mapgeo y leaflet.
 
Última modificación:
Upvote 0

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.897
Muchas gracias estimados
[MENTION=105]Amenadiel[/MENTION], como es la curva de aprendizaje de Doctrine ORM? Teniendo en cuenta que hasta ahora no he usado frameworks PHP, a lo más el motor de WordPress
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Wordpress no es un framework, es simplemente una aplicación a la medida para un propósito particular. Es extensible y customizable, pero construir con Wordpress como base no es tan buena idea. Yo lo hice durante años y al final me di cuenta que no es eficiente y es tan desestructurado que tú mismo terminas programando peor.

La curva de aprendizaje de Doctrine es algo empinada, pero se puede usar sin necesariamente dominar el sustrato teórico de sus componentes. Lo importante es que al declarar una clase de tu modelo de datos ésta representa (en la mayoría de los casos) una tabla de tu BBDD. Las variables de clase y el tipo de datos que asignas a cada una son coherentes con el modelo que hay debajo. Todas las clases de este tipo heredan varios métodos de conveniencia que trae doctrine, de manera que cuando declaras la clase User no necesitas construir métodos básicos como find, findby o findall, porque los heredas de doctrine.

Te recuerdo que Doctrine es sólo el ORM, vas a necesitas algo más que provea ruteo, vistas y controladores.
 
Upvote 0

ANDREGRANDIE

el escopeta..
Se incorporó
27 Marzo 2009
Mensajes
1.386
Otra cosa importante que da ventaja a PHP sobre Ruby on Rail : el primero es un lenguaje de programacion y el segundo es un framework de un lenguaje de programacion
 
Upvote 0

eversor

Capo
Se incorporó
29 Enero 2005
Mensajes
385
Estuve probando laravel para un par de proyectos y me dejo bastante conforme, hay unos cuantos paquetes disponibles para postgis
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Otra cosa importante que da ventaja a PHP sobre Ruby on Rail : el primero es un lenguaje de programacion y el segundo es un framework de un lenguaje de programacion

Eso no necesariamente es una ventaja. Es simplemente que para Ruby el gran referente en frameworks es Rails, tal como para Python es Django. Que un lenguaje tenga un framework hegemónico ayuda mucho a estructurar los esfuerzos en una misma dirección.

En PHP, cuando salió la versión 5, empezaron a formarse espontáneamente iniciativas para lograr lo mismo (en la práctica, CakePHP 1.0 quería ser Rail sin disimulo). Pero PHP existía hacía tanto, y se desarrollaba en forma tan desordenada, que en vez de surgir un framework que ordenara 1000 maneras de programar, surgieron 1000 frameworks.

Con el tiempo eso se ha ido decantando. Hay varios frameworks que fueron quedando abandonados o han fallado en mantener un ritmo de renovación saludable (KumbiaPHP, Kohana, el mismo CodeIgniter). Yo diría que una tendencia sana en este momento es aprender a integrar componentes de distintos proveedores antes que casarse con un pack monolítico. Para eso, el ecosistema de Composer / Packagist es la piedra angular.

Estuve probando laravel para un par de proyectos y me dejo bastante conforme, hay unos cuantos paquetes disponibles para postgis

Es bacán Laravel, y está construído como un contenedor que interactúa con paquetes de Symfony 2 de acuerdo al paradigma de la inyección de dependencias. Tiene mucho sentido porque ¿Para qué reinventar aspectos como la resolución de rutas y eventos si ese módulo en particular ya existe en Symfony y se puede instalar en forma independiente?

La gran particularidad de Laravel que lo diferencia de Symfony es que el primero usa el ORM Eloquent, construido con el paradigma Active Record. Symfony utiliza por defecto Doctrine, que funciona con el paradigma Data Mapper. A mí me acomoda más el segundo.
 
Upvote 0

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.897
Wordpress no es un framework, es simplemente una aplicación a la medida para un propósito particular. Es extensible y customizable, pero construir con Wordpress como base no es tan buena idea. Yo lo hice durante años y al final me di cuenta que no es eficiente y es tan desestructurado que tú mismo terminas programando peor.

Claro, solo lo tome como ejemplo de que uso esa forma de programar cuando hago un sitio web basado en wordpress. Para aplicaciones grandes no me gusta, porque encuentro mala la forma en que maneja la base de datos.

Desde ese posteo en adelante me queda claro que voy a tener que leer harto antes de comenzar con mi proyecto. Ya me decanté por PHP, ahora me queda escoger los métodos que voy a utilizar.
Muchas gracias por su ayuda estimados.
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Si tuviera tiempo y paciencia y no tuviera el criterio deformado con mis herramientras actuales, yo empezaría por hacer los tutoriales de silex. Silex es un mini framework de ruteo hecho por sensiolab al igual que symfony, pero usando inyección de dependencias para inforporar los servivicios que quieras añadir: como doctrine o twig.
 
Upvote 0

hashimoto

Gold Member
Se incorporó
30 Julio 2006
Mensajes
2.387
oiga tia amena, llevo como 10 años con php estructurado, y kiero tirarme a poo mvc y uso de un framework? cual me recomiendas hay muchos ke piden harto en las pegas symphony, cake, zend? ademas si conoces un libro para aprender casi de cero
 
Upvote 0

eversor

Capo
Se incorporó
29 Enero 2005
Mensajes
385
Aunque no es tan masivo la comunidad de yii es super buena y activa, hay buenas extensiones que aceleran el desarrollo. Estoy empezando a usar 2.0 ahora (hize varios proyectos con 1.x) y se ve aun mejor.
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
oiga tia amena, llevo como 10 años con php estructurado, y kiero tirarme a poo mvc y uso de un framework? cual me recomiendas hay muchos ke piden harto en las pegas symphony, cake, zend? ademas si conoces un libro para aprender casi de cero
Yo empezaría con Slim Framework o con Silex. El segundo es ligeramente más complejo porque invokucra el concepto de provisión de servicios. Ambos resuelven de por sí el aspecto del ruteo, pero se extienden usando el principio de la inyección de dependencias. En otras palabras, puedes hacer los tutoriales de Slim y cuando ya domines el framework, podrás extenderlo para manejar un Orm, templates, caché, autenticación, etc.

La otra opción es irte derechamente por un framework monolítico, que incluya todos los servicios en un conjunto preestablecido. Ese es el caso de Laravel, Yii y Phalcon, por ejemplo. Todos tienen sus particularidades, pero hoy en día pienso que Laravel y Symphony tienen futuro. No así Zend, Codeigniter y Cake que han perdido empuje.

La gracia es que si partes con Slim o Silex, tarde o temprano vas a aprender Twig y Doctrine, que son librerías que también se usan en Symphony.
 
Upvote 0

Cosme

Gold Member
Se incorporó
27 Febrero 2005
Mensajes
8.277
hubo un tiempo que ocupe harto Yii PHP Framework: Best for Web 2.0 Development es bien bueno, tiene varias extensiones, pero no es tan masivamente usado, eso quizás te juegue en contra

yiiiii


xtTBV5q.gif
 
Upvote 0
Subir