PDF de programación - Apéndice: Adaptando software libre

Imágen de pdf Apéndice: Adaptando software libre

Apéndice: Adaptando software libregráfica de visualizaciones

Publicado el 7 de Septiembre del 2019
690 visualizaciones desde el 7 de Septiembre del 2019
826,6 KB
30 paginas
Creado hace 8a (31/07/2015)
Apéndice:
Adaptando software libre



“Un enano subido a los hombros de un gigante, verá más lejos

que el mismo gigante”.
Reflexionemos un momento sobre el modelo de desarrollo del software
libre, para que podamos evaluar las ventajas y desventajas de utilizar sus
proyectos como punto de partida de los nuestros.

Con lo que ya sabemos programar en PHP, nada nos impide
programar un sistema completo desde cero, identificando las tareas
principales que deberán realizar los usuarios de ese sistema (casos de
uso), y creando páginas, funciones y/o clases para lograr todas las
interacciones necesarias con una base de datos. Pero, con el tiempo,
luego de haber pasado repetidamente por la experiencia de crear
sistemas desde cero, notaremos que buena parte de los sistemas se
suelen parecer bastante entre sí. Llegará un punto en el que pensaremos
que no inventaremos nada nuevo, puesto que casi todo está hecho.

Iremos comprendiendo que las necesidades de nuestros clientes no
son infinitas, ni tan “especiales” como ellos creen. Todos los negocios de
un mismo rubro suelen necesitar aproximadamente
las mismas
soluciones a los mismos problemas. Las diferencias son escasas. Con
pequeños cambios se puede personalizar un sistema completo. Todos
los sistemas tienen una base común: requerirán un back-end y un front-
end, un módulo para registro y acceso mediante la identificación de los
usuarios, distintos tipos de usuarios con distintos permisos de acceso a
los contenidos, gestión de esos contenidos
(productos, noticias,
mensajes) para luego mostrarlos y navegarlos de distintas maneras, etc.

BEATI – PHP

ALFAOMEGA

2

Apéndice ● Adaptando software libre

Por lo tanto, en lugar de programar todo desde cero en cada nuevo
proyecto, será más eficiente disponer de un conjunto de soluciones ya
probadas y perfeccionadas, y solamente “adaptarlas” a cada uno de
nuestros clientes. Usaremos como base para nuestro trabajo lo que
muchos otros programadores experimentados han creado, y si le
encontramos alguna falla, compartiremos la solución (o, al menos,
avisaremos cuál fue la falla, para que otro le encuentre solución). De esa
manera, el sistema se irá perfeccionando con el tiempo, y cuando
volvamos a implementarlo para otro cliente, disfrutaremos de las
soluciones que hemos ido aportando todos los usuarios en nuestro
testeo cotidiano.

Al usar un sistema libre, al igual que hicimos con las clases en el
capítulo anterior, nuestra principal tarea será seleccionar el sistema que
más se asemeje a lo que necesitamos. Una vez elegido, analizaremos sus
funciones, sus métodos, sus páginas, y lo adaptaremos a las necesidades
de nuestro cliente particular realizando pequeños retoques y agregados.

El comenzar nuestro trabajo a partir de una base que ya funciona,
posee una serie innegable de ventajas competitivas frente al desarrollo
de sistemas a medida desde cero:

• Muchísima rapidez de desarrollo, plazos de entrega cortos.
• Presupuestos mucho más bajos: competitividad.
• Facilidad de adaptación.
• El conocimiento sobre el sistema está distribuido en una
comunidad, por lo que no se depende de un solo proveedor para
que nos dé soporte y nos solucione cualquier problema.

Como hemos visto en el primer capítulo del libro, nuestro mercado

ideal es éste:
LENGUAJES
COMPETIDORES Diseñadores

HTML/CSS

gráficos
Decorar
páginas (no
saben
programar)

TAREA
PRINCIPAL

NIVEL DE
PRESUPUESTOS

Cientos

PHP/MySQL
Programadores
Web
Adaptar
sistemas
prearmados
rápida y
económicamente
Miles/Decenas
de miles

Otros (Java, .Net)
Empresas de
sistemas
Hacer sistemas a
medida desde
cero (caros y de
largo plazo)

Decenas a
centenas de
miles

Tabla 1. Mercado de los sistemas prearmados.

ALFAOMEGA

BEATI – PHP

PHP

3

Desde ya que no competiremos con empresas de sistemas a
medida, que manejan presupuestos y plazos enormes, sino que
apuntaremos a satisfacer las necesidades de pequeñas y medianas
empresas, que con relativamente poca inversión y en muy poco tiempo,
podrán contar con un sistema Web funcionando eficientemente.

De nuestras capacidades (nuestras, o de las personas con las que
nos asociemos para integrar un equipo) dependerá agregarle valor,
mediante la integración de diseño, multimedia y programación PHP, a
estas soluciones prearmadas.

Licencias para no reinventar la rueda

Técnicamente, PHP como lenguaje no tiene demasiadas diferencias con
otros lenguajes de programación para la Web. Su licencia libre es la clave
de su éxito. Si PHP no hubiese tenido una licencia libre (y gratuita), no se
habría difundido en los hostings, y hubiera pasado a la historia jugando
un papel muy secundario.

Pensemos que, cuando a fines de los 90, se popularizó Internet,
varios lenguajes de programación del lado del servidor compitieron por
llegar a ser populares en los hostings que comenzaban a ofrecer
programación y bases de datos: en ese momento, los candidatos eran
ASP (de Microsoft, solo para servidores que usaran Windows como
sistema operativo), ColdFusion (un producto de Allaire,
luego de
Macromedia, y ahora de Adobe, cuya licencia actualmente cuesta 7500
dólares por servidor) y JSP (de Sun, gratuito, pero increíblemente
complejo para programadores Web principiantes).

Estos candidatos, en un principio, parecían tener las mismas
probabilidades de ser adoptados masivamente por los programadores
Web, pero PHP los superó enormemente por contar con todas las
ventajas (y ninguna de las desventajas) de cada uno de ellos:

• Licencia libre y gratuita.
• Multiplataforma (puede instalarse en Linux, Windows, Mac, Solaris,

etc.).

• Facilidad de aprendizaje.


Integración con cualquier gestor de base de datos (entre ellos,
MySQL, otra clave del éxito de PHP).

• Y,

finalmente,

la enorme ventaja de poder participar de
comunidades de programadores que surgieron en torno a los

BEATI – PHP

ALFAOMEGA

4

Apéndice ● Adaptando software libre

principales proyectos libres programados en PHP, brindando
soporte y mejoras continúas a esas aplicaciones de libre uso.
Todos los sistemas prearmados que utilizaremos poseen una
licencia libre. Para simplificar, denominaremos software libre a aquel
software que cuenta con cualquier licencia que permita su libre uso,
modificación y distribución e, incluso, la posibilidad de realizarle mejoras
y compartirlas nuevamente. Esto incluye numerosas licencias, como la
GNU GPL (GNU General Public License o Licencia Pública General GNU),
LGPL, licencia X11, licencia MIT, Expat, Cryptix, licencia BSD modificada,
ZLib, licencia W3C, Berkeley, OpenLDAP, licencia de código abierto de
Intel, licencia de Software Abierto (OSL), y también aquellos sistemas que
son de dominio público.

No vamos a entrar en cuestiones filosóficas de si debería llamarse
software libre u open source: simplemente, creemos que es un modelo
sumamente
de
desarrollo
programadores
(freelance), para diseñadores Web que están
independientes
aprendiendo programación, y para empresas pequeñas a medianas de
desarrollo Web.

conveniente

para

¿Por qué PHP tiene tantos proyectos listos para usar?

Lo que más sorprende de PHP en cuanto comenzamos a investigar es la
cantidad de proyectos libres que existen, a diferencia de los escasos que
hay en otros lenguajes de servidor, donde casi siempre estamos
obligados a programar todo desde cero. En PHP, contamos con
(literalmente) miles de proyectos libres, sistemas completos, listos para
que los descarguemos gratuitamente, los adaptemos y los vendamos a
nuestros clientes.

La clave está en el estilo de desarrollo colaborativo: esa modalidad
crea grandes comunidades de programadores en torno a cada proyecto,
que se benefician de aportar apenas un granito de arena cada uno
(reportar algún fallo, sugerir alguna mejora) y, a cambio, utilizan el
sistema completo cada vez más perfeccionado (tarea muy difícil para un
equipo de pocas personas trabajando aisladas dentro de una empresa de
desarrollo de código cerrado).

ALFAOMEGA

BEATI – PHP

PHP

5

Sistemas para todos los rubros y clientes

Cuando visitemos un cliente para relevar las necesidades que busca
satisfacer con una aplicación Web, es conveniente que conozcamos de
antemano cuáles son los sistemas libres existentes en el área específica
de trabajo de nuestro cliente, para orientar su demanda hacia alguno de
esos software que conozcamos.

Vamos entonces a conocer los principales proyectos existentes en

los rubros más comunes.

Principales CMS: portales, e-commerce, gestión de
proyectos

En cada área del mercado de las aplicaciones Web que examinemos,
siempre encontraremos entre los sistemas líderes alguna aplicación
realizada con PHP y MySQL de código abierto, lista para utilizar y mejorar.
Para elegir cuál de todas ellas utilizaremos, primero debemos
conocerlas y, para eso, podemos recurrir a servicios de comparación de
características, como el de: http://www. cmsmatrix.org/ o a nuestra
propia experiencia luego de probar decenas de estas aplicaciones (algo
que no debería llevarnos mucho tiempo, en pocas horas, se pueden
instalar y probar varias aplicaciones distintas).

Aquí ofrecemos un breve listado de las aplicaciones más populares
(no necesariamente son por eso las “mejores”, solo las más utilizadas), y
las hemos agrupado en las categorías más comunes:

Categoría

Si
  • Links de descarga
http://lwp-l.com/pdf16540

Comentarios de: Apéndice: Adaptando software libre (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad