0% encontró este documento útil (0 votos)
139 vistas15 páginas

Lenguajes de Programación Web Esenciales

Este documento describe diferentes lenguajes de programación y tecnologías web relevantes para proyectos de marketing digital. Explica lenguajes del lado del cliente como HTML, CSS y JavaScript, lenguajes de servidor como PHP, Perl y ASP, y lenguajes de intercambio de datos como XML y JSON. También discute factores a considerar al elegir un lenguaje como tendencias, recursos disponibles y tecnologías usadas por la competencia.

Cargado por

GUILLERMINA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
139 vistas15 páginas

Lenguajes de Programación Web Esenciales

Este documento describe diferentes lenguajes de programación y tecnologías web relevantes para proyectos de marketing digital. Explica lenguajes del lado del cliente como HTML, CSS y JavaScript, lenguajes de servidor como PHP, Perl y ASP, y lenguajes de intercambio de datos como XML y JSON. También discute factores a considerar al elegir un lenguaje como tendencias, recursos disponibles y tecnologías usadas por la competencia.

Cargado por

GUILLERMINA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación y

lenguaje web

Tecnologías en
Marketing Digital

1
Desarrollo y
posicionamiento de un
sitio web
Programación en lenguaje de cliente y servidor

Aunque inglés y matemáticas siguen siendo esenciales, la


codificación como asignatura se está convirtiendo rápidamente
en la elección para los estudiantes del mundo. Entender cómo
funciona un lenguaje de programación nos abre el panorama
para desarrollarnos en cualquier entorno digital.

Introducción a los lenguajes


El objetivo de esta sección es comenzar a comprender la importancia de la
selección de un lenguaje y una tecnología de base para cualquier proyecto
digital. La idea no es que sean expertos programadores, pero sí que tengan
el know how para poder decidir qué camino tomar ante una gran variedad
de plataformas de desarrollo existentes.

Es una realidad que la computación ha reemplazado muchos procesos y ha


permitido simplificar las tareas que realiza el ser humano, pero todavía está
muy lejos de recibir comandos en lenguaje natural. Si bien las técnicas de IA
(Inteligencia artificial) avanzan día a día, tenemos aún un largo camino de
codificación o programación, que básicamente es enviar órdenes en el
lenguaje que las máquinas receptan y saben interpretar.

Ese lenguaje o código es el vínculo entre personas y máquinas, lo que ha


generado distintas soluciones desde la creación del primer lenguaje
denominado Plankalkul en 1945 hasta los modernos Ruby o Phyton de la
actualidad. Ya por estos tiempos hay un aspecto que es vital en la selección
y refiere a la comunicación con otras computadoras y sistemas, ya que la
capa de interacción con los usuarios está estandarizada por interfaces como
los navegadores o browsers.

A lo largo de la historia, se han dado a conocer cerca de doscientos lenguajes


de programación, pero solo se considera un grupo cercano a diez como los

2
significativos y que influenciaron a lenguajes posteriores. Por esto, aún en
las universidades se estudian lenguajes como C, ya que estos marcaron la
metodología de evolución y presentan la estructura de base sobre la cual se
montaron el resto de las plataformas. Con el transcurso del tiempo, fueron
evolucionando hacia lo visual, las capas, la reutilización de componentes y
los esquemas de servicios.

Lenguajes actuales
Podemos enfocar la búsqueda de los mejores lenguajes de la actualidad
desde distinta óptica. Pero en general la oferta laboral, las publicaciones, el
código subido a repositorios globales como Github y las búsquedas sobre
motores como Google y Yahoo marcan la tendencia.

Algunas organizaciones como TIOBE, nos facilitan esta búsqueda


presentando sus índices y rankings, los cuales son alimentados por los
propios usuarios de la comunidad: los programadores.

La tabla 2 muestra la tendencia actual según estos rankings. Claramente, en


este top ten tenemos a los principales exponentes en cada categoría. Es que
los lenguajes se han especializado y salvo para una solución particular, en
nuestra empresa o startup utilizaremos un set de estos para las distintas
capas de nuestro stack de tecnología. Si podemos observar que la letra C
está en todos los listados, como adelantábamos, este es la base de C#, C++
y Objective C. Esta no es más que una estrategia de las distintas compañías
que lo empujaron para aprovechar al lenguaje de base más extendido y
evolucionar sobre este las nuevas tendencias.

Lenguajes clientes, servidor y de intercambio de


datos
Si profundizamos la categorización, nos encontraremos con tres focos de
acción en nuestra infraestructura: estamos hablando de los lenguajes
Cliente, Servidor y de Intercambio de datos. A continuación, los exploramos
(Beati, 2012).

1) Lenguajes del lado cliente: son aquellos lenguajes que interpretados por
los navegadores web no necesitan compilación o un tratamiento especial
del lado del servidor. En la práctica, es la capa de interacción con los
usuarios. Páginas web, interfaces de aplicaciones y conexiones entre
aplicaciones web utilizan los siguientes:
 HTLM y sus versiones posteriores, como HTLM5;
 JAVASCRIPT;

3
 CSS.

2) Lenguajes web de servidor: en la actualidad las páginas web son


dinámicas, es decir que van cambiando de acuerdo a estados, datos y
determinadas situaciones, por lo que es el servidor el que genera y envía
la página antes de que los usuarios la visualicen. Sistemas de gestión de
contenidos como los CMS, tecnologías nativas como las de Microsoft y
distintas aplicaciones que se desempeñan de manera óptima desde los
servers, utilizan los siguientes lenguajes:
 Perl;
 ASP;
 PHP;
 JSP.

3) Lenguajes de intercambio de información: hace un tiempo se generó una


evolución muy importante, la posibilidad de que aplicaciones de distinta
tecnología dialoguen a través del pasaje de datos en un esquema o
formato común. Esto generó que las plataformas de programación, ya
sea del lado del cliente o del servidor, desarrollaran esta capacidad y en
la actualidad gran parte de las webs y sistemas avanzados lo utilizan. Los
principales son los siguientes:
 XML
 JSON

¿Qué lenguaje de programación elegir?


Entendiendo que tenemos muchas alternativas de primera línea, ¿qué
estrategia de selección utilizamos? Como en otro tipo de proyectos, es
fundamental entender cuál es el objetivo de negocio que se busca y de allí
bajar a la tecnología y ya con las metas cerradas, debemos preguntarnos lo
siguiente:

 ¿Cuáles son las tendencias en la tecnología a elegir?


 ¿Disponemos en nuestro ámbito de los recursos técnicos y humanos
para desarrollarla?
 La competencia ¿qué está utilizando?
Si bien nuestro proyectos de marketing digital se enfocarán mucho en los
sitios web, recordemos que las páginas son la puerta de entrada a nuestro
negocio y que cada actividad tiene desarrollos ya realizados inhouse o
estándares, por lo que nuestra aplicación web tiene que poder dialogar con
el core de la aplicación. Para comenzar, veamos las principales categorías
por tipo de proyecto (Aubry, 2014):

4
1) Desarrollo web: entendiendo que la mayoría de los proyectos tendrá una
arista web, es fundamental comprender lo principal de cada categoría.

 Front-end: la interfaz de usuario es un elemento crucial en todos los


sitios web, por lo que trabajar sobre esta nos llevará a explorar
siempre HTML en alguna de sus versiones. Este, en combinación con
CSS, nos permitirá darle estilos a los sitios. Una vez que tengamos
nuestro site, seguramente este necesitará interactuar con otros
componentes, es allí donde JavaScript es el ideal. Este permite
embeber partes de código en partes de nuestro site y generar eventos,
pasaje de datos, y animaciones. JQuery y otras soluciones nos
permitirán avanzar sobre temas más específicos, pero la primera
combinación HTML-CSS-JavaScript será muy eficiente en la mayoría de
las situaciones.
 Back-end: como citamos anteriormente, las páginas ya no son
estáticas, ya que están conectadas a CMS, que las genera de manera
dinámica con base en el contenido. En esta línea, PHP es el lenguaje
que siempre estará, de una u otra manera, salvo que tu empresa esté
en la nueva generación y utilice tecnologías como Python y Ruby. Estos
han avanzado mucho y se han posicionado en la tendencia, pero PHP
sigue siendo el más usado aún. Ahora bien, estos son sobre tecnología
Open source, por supuesto que puedes estar en un ámbito corporativo
en el cual .NET de Microsoft sea tu proveedor para el back-end. Este
último ha evolucionado, pero la fuerza de la comunidad Open Source
ha sido arrolladora y te la encontrarás en la mayoría de los escenarios.
De la misma forma, necesitarás una base de datos para apoyar esta
tecnología, del lado del Open Source: MySQl, SQlite y MongoDB lideran
las implementaciones y por el lado de las suites cerradas, Microsoft
SQL Server, Oracle e IBM aún mantienen una porción importante de
grandes sistemas.
2) Escritorio: si bien en proyectos digitales es difícil encontrar situaciones en
las que desarrollemos aplicaciones específicas para escritorio, puede que
debamos realizar en algún momento una versión desktop. En general,
ésta siempre aprovecha mejor las funciones de cada sistema operativo.
Algunos ejemplos de implementaciones son las versiones PC/MAC de
WhatsApp o Slack. En este caso, siempre es mejor utilizar un lenguaje
multiplaforma como Python, tal vez combinado con GTK o Qt para las
interfaces gráficas. Por supuesto que si necesitamos algo más específico
tendremos que recurrir a las suites de Windows, Mac Os o Linux para
profundizar en cada escenario.
3) Móvil: la situación es similar a la de escritorio. Podemos avanzar sobre
algo genérico o bien concentrarnos en cada plataforma con los pros y
contras que lleva cada situación, sabes que podemos implementar algo

5
portable en HTML/HTML5 pero no tendremos las mismas prestaciones
que una aplicación nativa. En conclusión los caminos que tenemos son:

 Multiplataforma: podemos usar plataformas PhoneGap, Ionic,


Gamarin en las cuales tendremos experiencias genéricas muy buenas.

 Android: es la plataforma de Google, actualmente líder en el mercado


de smartphones. Sin dudas debemos explorar esta solución tal vez
antes que la multiplataforma.

 iOS: es la solución de Apple, pionera en muchos aspectos y líder en


mercados avanzados como EE. UU. Aún en LATAM y otros mercados
no logra masividad, pero si nuestra solución apunta a este target, no
podremos suplantar con ninguna otra alternativa la experiencia del
iPhone.

 Ubuntu Phone: así como Fedora, Debían, Kubuntu y otras versiones


open source, están allí disponibles, aún no han logrado posicionarse en
el mercado pero pueden ser útiles en determinadas situaciones.

4) Ciencias: muchas veces nos olvidamos de estas categorías, pero como ya


es un hecho que lo digital alcanza todo, debemos decir que la ciencia
tiene un lenguaje exclusivo que es Pyhton. Aquí las distintas comunidades
han alimentado las librerías permitiendo el acceso desde webs sobre
bioinformática, astronomía, meteorología, física, química, etcétera. La
ventaja de Python es que te permitirá hacer una capa de interacción con
soluciones específicas programadas en otros lenguajes. Ahora bien, si
trabajas en ciencias aplicadas, como robótica, C++ será tu lenguaje. Este
es uno de los pocos que permite interactuar a bajo nivel de la manera
más simple, sin entrar en código de máquina o lenguajes de
programación de hardware/firmware.

5) Videojuegos: Unreal Engine, Unity, Vray, Lumion, Stingray, Cryengine,


son solo algunas de las suites que permiten desarrollar games a medio y
alto nivel. Recuerda que puedes comenzar con cualquiera de los
lenguajes que exploramos anteriormente, pero esta categoría ha
evolucionado lo suficiente como para que te apoyes en la extensa gama
de librerías y componentes existentes.

Metodologías de desarrollo
Si bien no es el foco de la actividad, los equipos de TI con los que interactúes
trabajan con métodos específicos. Debes tener una referencia de cuáles son
los pasos de cada uno de estos, para que puedas seguir la cadencia y
ensamblar tu trabajo de manera adecuada. Los métodos han evolucionado

6
en el tiempo, actualmente las metodologías ágiles son las que dominan el
mercado (ver Tabla 1).

Tabla 1: Comparativo de metodologías ágiles

Fuente: Tarrillo, s. f., http://goo.gl/HalCI2

Figura 1: ¿Cómo elegir un lenguaje de programación?

Fuente: [Imagen intitulada sobre lenguajes de programación]. (s. f.), http://goo.gl/MYNiA4

7
Tabla 2: Ranking de lenguajes de programación más usados

Posición Lenguaje
1 Java
2 C
3 C++
4 C#
5 Python
6 PHP
7 Visual Basic .NET
8 Perl
9 JavaScript
10 Delphi/Object Pascal
11 Ruby

Fuente: TIOBE, 2015, http://goo.gl/THRXpw

De acuerdo con el estudio de Intel Security, el 60% de los niños de entre 8 a


16 años está interesado en programar o codificar para nuevas aplicaciones
o sitios web (Intel Corporation, 2015).

Lenguajes empleados en el desarrollo


de una página web
En todas tus estrategias digitales, tu sitio web será clave, es el
punto en donde convergen muchas de las acciones, por lo que
tener claro cómo está desarrollado, en qué tecnología, será
fundamental para tu emprendimiento.

Lenguajes web, ventajas y desventajas


La evolución de los lenguajes web se dio en el pasaje de lo estático a lo
dinámico y a la interacción de estos últimos con bases de datos.

8
En la actualidad, utilizaremos soluciones del tipo CMS, las cuales nos
permitirán usar plantillas y montar nuestros sitios de manera ágil, pero
siempre que el negocio presente alguna particularidad tendremos que
desarrollar una parte de este, ya sea haciendo el front más específico o bien
desde el back interactuando con otras plataformas y sistemas que la
empresa utiliza. A continuación, repasamos las principales alternativas para
la web (Aubry, 2014):

1) HTML: es el lenguaje de base para la web, así como lo es C para el resto


de las aplicaciones. Es un lenguaje estático basado en marcas y etiquetas.
Ha evolucionado en la actualidad a versiones como HTML5, el cual brinda
mayor flexibilidad y dinamismo. Todo programador web conoce la
estructura de HTML.

Ventajas:
 simple de aprender y programar;
 formato de texto estructurado;
 archivos livianos y muy portables, ejecutable en todos los browsers;
 implementaciones simples;
 utiliza editores WYSIWYG (what you see is what you get, en español,
lo que ves es lo que obtienes). Esto permite ir desarrollando y viendo
los resultados.

Desventajas:
 Lenguaje estático, lo que genera que el sitio debe actualizase desde el
código.
 Los browser requieren actualizaciones para eliminar las diferentes
interpretaciones de cada página.
 Las etiquetas simplifican la programación, pero cuando tenemos muchas
líneas de código se convierten en un problema para seguir la secuencia.
 El diseño y agregado de maqueta es lento. Por esto, los CMS y sus
plantillas han superado este uso.

2) Javascript: este es un lenguaje utilizado principalmente en páginas web y


sirve de complemento para HTLM en la interacción con bases de datos.
Al no requerir compilación y trabajar en el lado del cliente, tiene una
performance superior en determinadas situaciones. Toma algunos
conceptos de Java, pero sin la lógica del trabajo por objetos.

Ventajas
 Los browsers actuales interpretan código Javascript de manera local.
 Permite crear funciones dinámicas e interactivas sobre los sitios.
 El código Javascript se integra al HTLM y es de mucha utilidad en
mensajes, avisos e integraciones con otras plataformas.

9
Desventajas:
 Código visible por cualquier usuario, por lo que no puede ser utilizado
para funciones de seguridad, por ejemplo.
 El código se debe descargar al 100 % en el lado del cliente, esto
supone un problema para secuencias de comando largas.
 Si bien presenta interactividad, las opciones 3D son limitadas.
 El usuario puede desactivar JavaScript en el navegador y bloquear
muchas funciones.

3) PHP: es un lenguaje de script interpretado (no necesita compilarse) en el


lado del servidor utilizado para la generación de páginas web dinámicas,
embebidas en páginas HTML y ejecutadas en el servidor. Este hereda la
estructura de lenguajes como C y Java. Requiere tener instalado
servidores Linux para ser ejecutado.

Ventajas:
 simple de aprender y con mucha documentación de la comunidad;
 ágil y multiplataforma, ya sea en sistemas operativos y conexiones a
bases de datos;
 programación orientada a objetos y clases;
 estructura modular;
 open source y con gran cantidad de funciones en repositorios
públicos;
 lenguaje de alto nivel, lo que facilita el foco en las funciones y el
negocio.

Desventajas:
 Requiere el set up de servidores web e instalación de paquetes.
 Concentra en los servers la capacidad de procesamiento, por lo que
estos tienen que estar bien dimensionados, sino es un cuello de
botella.
 Es un código poco ordenado, por la mezcla de distintos tipos de
sentencias y complejo de organizar por niveles.
 Deficiente en aplicaciones muy grandes.
 Amenazas de seguridad permanentes, lo que requiere especial
atención en los mecanismos de protección.

PHP es un poderoso lenguaje e intérprete, pero debe ser utilizado de manera


correcta, ya que la esencia de ejecutar todo del lado del servidor tiene sus
pros y sus contras, específicamente del lado de la seguridad y del control de
las conexiones que se disparan desde allí. De todas maneras, es el lenguaje
más utilizado en el desarrollo web, por lo que se debe estudiar su
participación en cualquier tipo de implementación.

10
4) ASP/ASP.Net: como ya sabemos, las tecnologías open source han ganado
mucho terreno, pero para el caso de los sitios web dinámicos existe la
tecnología propietaria de Microsoft ASP. Esta tiene características de
funcionamiento de lado del server similares a PHP, solo que requiere de
equipamiento ISS (Internet Information Server) y Framework.Net para
funcionar. Estas páginas ASP pueden desarrollarse en distintas interfaces
como VBScript, JScript y al igual que PHP permiten el desarrollo
combinado de código ASP con HTML.

Ventajas:
 Utiliza la suite de Visual Basic en su versión Script, es muy simple de
utilizar y muy extendida.
 Tiene la mejor estructura de conexión con bases de datos SQL Server
y de soporte para grandes aplicaciones.
 Soporta el lenguaje JScript (Javascript de Microsoft), lo que permite
un completo manejo de las funcionalidades web.
 En la versión .Net, permite usar C#, VB.NET o J# y se orienta a objetos.
 Las últimas versiones permiten trabajo diferenciado por capas, de
aplicación y código.

Desventajas:
 Baja organización de código, dado que permite la combinación de
distintos lenguajes.
 Pocas funcionalidades modulares, lo que requiere de mucha
programación.
 Costos altos asociados a tecnologías propietarias y alto consumo de
recursos de hardware.

5) JSP: uno de los pioneros en plataformas y lenguajes independientes de


los sistemas operativos es SUN Microsystems con JAVA. Es una alternativa
a PHP y ASP para la creación de páginas dinámicas. JSP (Java Server Pages)
permite la creación de aplicaciones web muy robustas con base en la
tecnología de servlets de Java. Para su funcionamiento se necesita tener
instalado un servidor Tomcat. Es una tecnología muy extendida para las
implementaciones de gran porte.

Ventajas:
 ejecución rápida del servlets y tecnología multiplaforma
independientes de sistema operativo;
 crear páginas del lado del servidor;
 interacción e integración con plataformas java.

Desventajas:

11
 pocos recursos capacitados y comunidad de soporte.

6) Python: es una de las evoluciones más importantes a nivel de


codificación. Los programadores indican que es el lenguaje más
estructurado, simple y potente del momento. A diferencia de otras
plataformas, permite crear aplicaciones de todo tipo, incluidos sitios web.
La característica de código interpretado lo hace versátil y ejecutable en
cualquier ámbito. Una de las principales características es que permite
trabajar con todos los paradigmas de programación existentes (objetos,
funcionales, estructurada, etc.) por lo que es adoptado por todo tipo de
profesionales.

Ventajas:
 open source y de propósito general;
 variedad de funciones, librerías y multiplataforma;
 simple de aprender y programación portable;
 multiparadigma.

Desventajas:
 Como todo lenguaje interpretado, presenta problemas de
performance en aplicaciones grandes.

7) Ruby: la versatilidad de Phyton generó una ola de lenguajes de alto nivel


en los cuales Ruby se destaca. Tiene mecanismos de trabajo por objetos
y sintaxis muy legible que permite aumentar la productividad. La magia
de sus creadores ha sido abstraer la complejidad y presentar a los
usuarios el código de manera natural. Es una tendencia que comienza a
acelerase y que permitirá a muchos profesionales no técnicos ingresar al
mundo de la programación.

Ventajas:
 simple de aprender, soluciones prácticas y a bajo costo;
 software libre, multiplataforma.
Como cierre, está claro que no será simple decidir qué lenguaje utilizar. Será
muy importante el análisis de entorno, de recursos disponibles, de tipo de
mercado para asegurarse que la elección es la correcta para tu proyecto.
Pero claro está que se presentan muchas alternativas y que conociendo las
ventajas se puede lograr una solución óptima para los distintos escenarios.

12
Figura 2: Evolución de lenguajes

Fuente: [Imagen intitulada sobre evolución de lenguajes]. (s. f.), http://goo.gl/PXbnSP

Figura 3: Programadores más buscados

Fuente: [Imagen intitulada sobre programadores, 1]. (2012), https://goo.gl/5q59Qy

13
Figura 4: Comparativo 3 lenguajes más populares: PHP, PYTHON y RUBY

Fuente: [Imagen intitulada sobre programadores, 2]. (2012), https://goo.gl/LIfyw0

Se espera que la codificación sea una de las disciplinas más requeridas


en el futuro, por esto es que se estudia incluir programación en todas
las carreras y niveles.

14
Referencias
Aubry C. (2014). HTML5 Y CSS3 Para Sitios Con Diseño Web Responsive.
España: Ediciones ENI.

Beati H. (2012). El Gran Libro De Php: Creación De Páginas Web Dinámicas.


España: Marcombo, S.A.

Intel Corporation. (2015). Informe sobre predicciones y amenazas para


2016 de McAfee Labs. Recuperado de
http://www.intel.es/content/www/es/es/architecture-and-
technology/authenticate/mcafee-2016-threats-and-predictions-
report.html

[Imagen intitulada sobre evolución de lenguajes]. (s. f.). Recuperada de


http://www.wired.com/2015/08/github-data-shows-changing-software-
landscape/

[Imagen intitulada sobre lenguajes de programación]. (s. f.). Recuperada de


http://www.marisolcollazos.es/noticias-informatica/?cat=10

[Imagen intitulada sobre programadores, 1]. (2012). Recuperada de


https://blog.udemy.com/modern-language-wars/

[Imagen intitulada sobre programadores, 2]. (2012). Recuperada de


https://blog.udemy.com/modern-language-wars/

Tarrillo, J. (s. f.). Cuadro comparativo metodologías ágiles. [Imagen]


Recuperado de http://es.slideshare.net/PichonDJ/trabajo-n2-ing-sw

TIOBE. (2015). Programming Language Hall of Fame. [Imagen]. Recuperada


de http://www.tiobe.com/tiobe_index?page=index

15

También podría gustarte