marzo 10, 2010

Empezando desde cero...


Recuerde que..
Este blog esta desarrollado en idioma español pero utilizando Google Traductor puede adecuarlo al lenguaje de su preferencia.. Favor utilice la opcion del recuadro superior derecho... y Bienvenido a Integracion Google.




( actualizado al 02/03/2012 )

Si leyeron el post anterior y tienen algun tipo de conocimiento basico de desarrollo Web pues supongo que ya deben haber hecho algunas pruebas y observado como funcionan alguno de los ejemplos que muestra el Playground de Google.. pero si este no es el caso, por lo menos ya debe haber visto y leído las cosas que son posibles hacer con el API y las herramientas de Google...

Si aun no tenemos los suficientes conocimientos para entender la inmensa literatura que nos presenta Google, pues no nos desanimemos y sigamos adelante, hay muchas formas de empezar y varias sumamente practicas.. cabe entonces preguntarse por donde empezar, por cuanto el mundo Web es de por si bastante amplio y presenta innumerables alternativas de desarrollo...

A estas alturas ya nos debe resultar familiar que hablar de desarrollo Web es referirnos a aplicaciones Cliente Servidor pero de ámbito WAN (Wide Area Network o Red de Area Amplia), desarrollado en la plataforma de Internet. Si vamos a hacer Desarrollo Web, pues entonces nos resulta imprescindible tener acceso ininterrumpido y de ancha banda a Internet, y ahora eso es fácil y económico a través de los servicios ADSL proporcionados por PSI locales (proveedores de servicios Internet), como lo son las empresas de telefonía o cable.

Luego nos resulta necesario tener nuestro "servidor Web", y como todo en Informática, existen varias alternativas, o más propiamente dicho, varios tipos de servidores que soportan HTTP (de HyperText Transfer Protocol), pero siguiendo nuestra convicción de mantenernos en el mundo Opensource o de Codigo Abierto, utilizaremos el Servidor HTTP Apache, al cual podemos acceder través de un servicio de "Hosting" o instalándolo como un Servidor Web Local en nuestro propio ordenador, en el cual podamos realizar todas nuestras pruebas; o si contasemos con una capacidad de equipos apropiada (nuestro computador y un ancho de banda aceptables), pues podríamos de alli mismo conectarnos a la Nube (Internet), y "publicar" al mundo nuestros desarrollos, pero esto, luego de haber visto el video respecto a Google App Engine del post anterior, pues tal vez no nos resulte tan interesante, por cuanto, dependiendo de nuestra cantidad de usuarios y la cantidad de operaciones que realicen, nos podrían representar costos que pueden llegar a ser bastantes altos, excepto por supuesto, se trate de aplicaciones "estáticas" o casi estáticas (una pagina web informativa o de presentación de nuestra organización o empresa por ejemplo); pero si nuestro objetivo es "interactuar con clientes, usuarios o seguidores", que lean y escriban por intermedio de nuestras aplicaciones, y que no solo podrían ser miles sino millones, pues nuestro enfoque puede variar, y apostar por otro tipo de servidores, como el datastore Big Table de Google ó el servicio C3 de Amazon, pero obvio que eso implica emplear herramientas que aun vamos a descubrir, pero vale indicar que llegado su momento nos resulten importantes y tal vez difícil de dejar de tomar en cuenta.

Como hemos indicado los Servidores Web o servidores HTTP se basan en el "HyperText Transfer Protocol" o Protocolo de Transferencia de Hipertexto, y eso significa para nosotros que nuestra atención debe concentrarse en el lenguaje HTML (HyperText Markup Language), pero para cualquier persona que haya tenido conocimientos básicos de programación, este "lenguaje" resulta ser bastante intuitivo y prácticamente va a poder ser aprendido a la par que se vaya avanzando en nuestros conocimientos de desarrollo Web, y esto principalmente porque HTML es un lenguaje "estático", que crea el contenido y los objetos que podremos observar en una pagina Web a través de un navegador..algo así como los códigos ocultos que observamos al digitar un documento en un procesador de textos, e  incluso si no utilizamos códigos ocultos ó etiquetas HTML, nuestro navegador debe mostrar lo digitado en nuestro archivo tipo texto grabado con la extensión "html".

Resumiendo... nos debe quedar claro que para iniciarnos en el desarrollo Web debemos empezar con saber como implementar nuestro Servidor Web Local, y que es necesario aprender HTML, pero aun requerimos de algunos conceptos adicionales: El Front-End y el Back-End.



Debe resultarnos claro también que una vez instalado nuestro Servidor Web Local de pruebas, de alguna manera lo que programemos debe considerar de alguna manera el uso de HTML en nuestros desarrollos, refiriéndonos a los menús, ventanas, grillas, formularios y otros componentes que interactuarán con nuestros clientes, usuarios o seguidores; y que "internamente" también debemos programar para procesar la información que solicitemos y las podamos "grabar" en una correspondiente base de datos (MySQL, SQLite, PostgreSQL, Sybase, etc).

Dentro del concepto del Front-End ó Front-side (lo que se ve en el navegador ó se encuentra del lado del "cliente"), HTML viene a ser nuestro "lenguaje" de primer nivel, pero que realmente solo nos permite "maquetear" la estructura y definir los componentes "estáticos" de nuestra pagina, como textos, imágenes, vídeos, etc. identificándolos como objetos que podremos presentar en las pantallas de un navegador. Pero como HTML es el lenguaje base para nuestros desarrollos Web necesitamos de lenguajes de un segundo nivel (como VFP, PowerBuilder u otros similares en las aplicaciones de escritorio); y en el mundo Web tenemos al lenguaje Javascript, que es un lenguaje de scripting orientado a objetos, que nos permite acceder y manejar los objetos del HTML en nuestras aplicaciones, y que principalmente, se encuentra y utiliza integrado a un navegador web ó browser, permitiendo el desarrollo de interfaces de usuario mejoradas y páginas web dinámicas, entendiendo con ello, páginas web cuyos datos dependan de lo disponemos y manejemos con nuestras base de datos, y no solo lo que podamos digitar en un editor ( aunque en este punto debe resaltarse que el lenguaje Javascript nació principalmente para trabajar con los objetos HTML por el lado del cliente ó Front-side, pero que con los desarrollos del motor V8 y de nodeJs, ahora incluso es posible utilizar Javascript por el lado del servidor) ...pero resulta que junto al desarrollo y evolución del Javascript, se efectuaron diversos cambios en los estándares del mundo Web y en los mismos Navegadores, por lo que se desarrollaron diversas bibliotecas o librerías para facilitar su uso, esos programas "mejorados" derivados de un lenguaje "principal" son conocidos como "Frameworks", y en el caso del Javascript podemos mencionar varios como Prototype, JQuery, MooTools, Dojo, YUI de Yahoo, etc., y de todas las mencionadas, una de ellas nos resulta bastante completa e interesante para nuestros propósitos, nos referimos a ExtJS (Javascript extendido)..y porque?, pues como acabamos de indicar durante el proceso de adecuación e implementación de estándares y protocolos web vigentes, que a mi parecer tuvieron como principal objetivo desmonopolizar el mercado informático de Microsoft (y en lo que mucho hay que agradecer a Netscape);, pues aún existen protocolos que recién están siendo aceptados e "implementados" por todos los desarrolladores de navegadores Web, y que ahora principalmente son Opensource, como Mozilla Firefox, Google Chrome, Opera, etc., y esto ha ocasionado que incluso hasta en nuestros días puedan haber algunas diferencias e incompatibilidades al utilizar nuestras aplicaciones web en un navegador u otro (aunque ahora son notablemente menores las diferencias); mas aún, entre sus diversas versiones; y ello supone incluir en nuestro código condicionales ó instrucciones a nivel de lenguaje HTML, y principalmente a nivel Javascript, para que nuestros desarrollos sean compatibles para todos los diversos navegadores, y en sus distintas versiones; por ello, ExtJs que es una biblioteca de Javascript pero que puede ejecutarse independientemente, en su codificación estandariza y  "elimina" esas incompatibilidades, y al ser un "lenguaje" orientado al desarrollo de aplicaciones web "enriquecidas" usando tecnologías ya estandarizadas como AJAX, DHTML y DOM, pues, eso nos facilita enormemente el desarrollo de nuestras aplicaciones, y nos permite olvidarnos de toda esa problemática de roces e incompatibilidades que ha existido durante el nada lejano desarrollo de los estándares web vigentes (incluyendo HTML5 y CSS3), y que principalmente han sido propiciados y auspiciados por los diferentes proyectos Opensource ligados al mundo Web, lográndose por fin, un marco adecuado para que nuestros aplicativos puedan funcionar bajo cualquier entorno Web... y al que también va incorporándose poco a poco lo que corresponde al desarrollo para equipos moviles (celulares, tablets, palms, etc)


NOTA: 
CSS, ó Hojas de Estilo en cascada, es también una forma de poder manipular los objetos HTML que hayamos dispuesto en una pagina web, utilizado principalmente para modelar y mejorar la presentación de nuestras paginas HTML, siendo interesante resaltar que pueden ser utilizados tanto en nuestro propio codigo HTML (mediante la etiqueta"style"), o como desde un archivo independiente, haciendo referencia a los objetos ó ID de las etiquetas de nuestra pagina HTML, siendo en este caso necesario indicar que se va a "importar" o trabajar con de determinada hoja de estilos mediante la etiqueta HTML :

Dentro del concepto del Back-End (lo que no ve el "cliente" o se encuentra del lado del servidor), necesitamos dos componentes: la Base de Datos y el lenguaje de programación que nos permita interactuar con ellas; dentro de este contexto, como siempre, en el mundo informático existen varias alternativas. Como base de datos tenemos MS-SQLServer, MySQL, SQLite, PostgreSQL, Sybase, Firebird, MongoDB, etc. (una larga lista), asi mismo tenemos varias fuentes de datos que pueden "conectarse" a nuestras aplicaciónes y desarrollos, y entre ellas podemos destacar el datastore Big Table de Google App Engine, C3 de Amazon, Access de Microsoft, o inclusive las Hojas de Calculo de Openoffice, Google Docs o MS-Office de Microsoft (éste último conocido ahora como servicio Skydrive de Windows Live); ...y como lenguajes de interpretación del lado del servidor (que principalmente nos permiten interactuar con dichas bases de datos), tenemos a PHP, ASP.Net, Java, Phyton, etc. Y bueno, apuntando como siempre a lo que es Opensource, proponemos iniciarnos utilizando como back-end a la combinación PHP+MySQL que incluso ahora es muy popular y defindido en muchos servicios de hosting disponibles en Internet (algunos incluso gratuitos o de costos bastante aceptables), pues existen varios "servidores"  donde se instala todo junto con nuestro servidor HTTP Apache, y que forma parte de lo que se denomina la Plataforma de Desarrollo Web convencional: Servidor HTTP Apache (HTML, CSS, Javascript), instalado, configurado y listo para trabajar con el back-end PHP+MySQL.

Como acabamos de indicar, existen varios proyectos opensources que nos permiten instalar al mismo tiempo al servidor HTTP Apache, el servidor de base de datos MySQL y el lenguaje PHP (e inclusive al framework Zend de PHP, y que nos facilitará en un futuro "probar" algunas aplicaciones desarrolladas específicamente para este entorno). Entre estos proyectos tenemos: Appserv, Xampp, Wamp, etc (dependiendo si lo instalemos sobre Windows, Mac, Linux ó Unix). Les proponemos usar Appserv, que es una herrramienta OpenSource para Windows, Linux y Unix que nos facilita instalar Apache, MySQL y PHP en una única instalación y automatiza las configuraciones de los servicios con los datos que nos solicite, como indicando la carpeta donde se instalarán los componentes (preferible una carpeta independiente y alojada directamente en la raiz de alguna de las unidades de disco de nuestro ordenador), nuestro password, mail de contacto y dominio (si lo tuviéramos, sino basta indicar el nombre "localhost" predeterminado, lo que nos permitirá acceder al servidor indicando "http://localhost" en la barra de direcciones de nuestro navegador). Una vez instalado AppServ, dispondremos de un servidor web y una base de datos propios, configurados de manera local, y nos permitirá realizar con ella todas nuestras pruebas necesarias en nuestro propio servidor web local (observando los resultados en nuestro navegador de preferencia que tengamos instalado como Google Chrome, Mozila Firefox, Intenet Explorer, Opera, entre otros), y observar sus resultados antes de ser lanzarla dentro de una intranet ó a la "nube" a través de internet.

APUNTES (02/03/2012) :
Aunque en esta nuestra introducción al mundo del Desarrollo Web estamos haciendo referencia principalmente a lo denominamos "Desarrollo Web Convencional" (empleando un servidor web Apache con el Back-End PHP+MySQL, y donde HTML, CSS y Javascript forman parte y vienen listo para ser usados en un servidor Apache). Vale destacar que existen otras opciones, algunas de ellas bastante especializadas como son el mundo Java y el entorno de desarrollo Web de Microsoft.. en el mundo Java (que utiliza en el Back-End el lenguaje de programación Java), podemos elegir entre varios servidores donde podemos destacar a Apache Tomcat (de la misma Fundación Apache), Glassfish (ahora de Oracle), JBoss, Jetty (utilizado por el SDK para Java de Google App Engine), o el servidor Resina por indicar algunos ejemplos, y estos son principalmente contenedores de servlets y compiladores de paginas JSP (Java Server Pages), por cuanto a diferencia de un servidor Apache HTTP convencional.. en un servidor "Java" todos nuestros archivos son primero compilados y luego ejecutados por el servidor, como cuando trabajamos con lenguajes de programación en un sistema de escritorio (y por supuesto que si nuestros archivos ya están compilados, se ejecutan directamente los archivos "objeto" de nuestro proyecto, lo que por supuesto hace mas rápidos y eficientes a este tipo de desarrollos, a diferencia que en un servidor Apache siempre se "interpreta" y luego se ejecutan cada uno de nuestros archivos tipo texto de extensión html, css, js,  php, que componen a nuestro proyecto cuando son requeridos) ..asimisno, es usual que los servidores Java usualmente no vengan vinculados a algun servidor de base de datos en particular, pues en su código ya se han definido estándares para trabajar con cualquiera de ellas, implementando incluso soluciones a nivel servidor a temas bastante sensibles para el adecuado funcionamiento de proyectos con  requerimientos exigentes de uso como son la "persistencia de datos" y la configuración y manejo de "pool de conexiones"..
Otro punto importante a tomar en cuenta, es que tanto los servidres Apache como los servidores Java son usualmente multiplataforma, vale decir pueden ser instalados en cualquier equipo con sistema operativo Windows, Linux (ó Unix ó Xenix), ó MacOS de Apple instalado, en el caso de los servidores Apache se cuenta con instaladores para cada plataforma, y en el caso de los servidores Java, solo es necesario se que encuentre instalado la Maquina Virtual de Java VM, la cual también esta disponible para todas las plataformas indicadas; y por supuesto, como "servidores web", todos ellos reconocen HTML, CSS y Javascript.
El mundo de desarrollo Web de Microsoft es bastante similar al mundo Java, pues se trata también de "compilar" y ejecutar nuestros desarrollos utilizando en este caso el servidor IIS de Microsoft (Internet Information Services), la cual trabaja con paginas ASP (Active Server Pages), y que a diferencia de todos los servidores anteriormente mencionados, en este caso los servidores IIS solo se pueden instalar sobre Windows y usualmente vienen "amarrados" a la versión de Windows que instalado en nuestro ordenador (XP, Vista, Windows7, ó Window NT Server, cada uno viene asociado a una versión especifica del servidor IIS.. a excepción de la plataforma de desarrollo WebMatrix, la que puede ser instalada indistintamente sobre cualquier versión de Windows que dispongamos (a partir de XP service pack 3), y en la que usualmente tenemos integrado al servidor los lenguajes ASP.Net, C# (pudiendo instalarse también en forma automáticamente a PHP), y viene con la base de datos SQLExpress, la cual es de facil "migración" e integración con la base de datos MS-SQL Server, aunque por supuesto, tambien puede conectarse y trabajar con diversas bases de datos como en el caso del mundo Java.
También vale mencionar que dentro del Desarrollo Web se encuentra el desarrollo para equipos moviles principalmente celulares y tablets), las cuales trabajan con sistemas operativos como Android, Symbian OS, iOS de Apple, Blackberry, Windows Phone (Window Mobile va pasar a ser obsoleto con Windows 8), etc... y en las que cabe destacar que actualmente ya se cuenta con varios navegadores que trabajan en esos equipos como Opera Mini 5 (de uso general para Android, Blacberry, etc.), Opera Mobile 10 especializado para Symbian y Windows Mobile, Teashark para celulares de ultima generación ó Skyfire ó Fenmec (Firefox mobile), vale decir, es posible hacer Desarrollo Web para moviles utilizando principalmente HTML5, CSS3 y JQuery Mobile, ó utilizando productos especializados como Sencha Touch (Javascript para moviles basado en la sintaxis ExtJS), pero resulta que estos desarrollos no aprovechan al 100% las funciones nativas que puedan tener dichos equipos (lista de contactos, GPS, cámara de vídeo, file system, etc), por lo que aunque es una opción hacer desarrollos en los lenguajes nativos de cada equipo (como Objetive-C para iOS ó Java para Android), pero ahora resulta que mas conviene "empaquetar" nuestros desarrollos Web para que funcionen "compilados" y aprovechando las funciones nativas de cada equipo, para lo cual se puede usar programas tpo PhoneGap por ejemplo, pero dado la verdadera revolución que significa el uso de los celulares y móviles en general, actualmente los  lenguajes están avanzando notablemente sus desarrollos en este campo, por lo que a corto plazo tendremos por ejemplo Sencha Touch 2.0, donde el mismo framework contará sun propio empaquetador nativo sin recurrir a PhoneGap; ó AppAcelerator Titanium, el cual busca que nuestros desarrollos Javascript (Sencha Touch, JQuery Mobile), unido al lenguaje Back-End que empleemos como PHP, Rugby, Phyton  que cuentan actualmente con su respectiva API/SDK Titanium, puedan generar su correspondiente aplicación nativa en Objetive-C para iPhone, iPad ó Java para Android), opciones que se encuentran actualmente en pleno proceso de evolución y desarrollo.


Aunque Ud. amigo lector, sea una persona con conocimientos avanzados o intermedios del mundo de Desarrollo Web, el framework ExtJs (del cual tal vez ya haya escuchado hablar), le resultara bastante interesante, y por ello nuestra recomendación que siga los pasos que vamos a indicar a continuación:

1.- Revise y empieze a seguir los pasos indicados en el siguiente link:






Estos son tutoriales desarrollado por Crysfel Villa desde México, y es quizá uno de los tutoriales mas importantes y completos que hemos observado sobre Programación y Desarrollo Web, es bastante detallado, esta en español e inglés, y presenta ayudas visuales, y aunque se encuentra orientado a lo que es el framework ExtJs, como iremos descubriendo, todo en el mundo Web se entremezcla y esta conectado... y utilizando este framework podremos fácilmente integrarnos al mundo Google, o a cualquier otro (incluido el de otros frameworks y otros entornos de desarrollo), y así realmente estar seguros de empezar a iniciar nuestro ciclo de aprendizaje utilizando estándares vigentes del mundo Web.

2.- En el Capitulo "Instalacion basica del Framework", Crysfel nos indica lo fácil que resulta instalar nuestro servidor Web utilizando Appserv, pero como este paso es bastante importante para comprender todo lo que es Desarrollo Web, pues paso a explicarlo con mayor detalle... así que pongamos a un lado por el momento al framework ExtJs y prestemos atención a lo siguiente:

El servidor HTTP Apache+MySQL+PHP se descarga de http://www.appservnetwork.com/ y alli se podra revisar las diferentes versiones que podemos descargar, y no dudemos en elegir la ultima version (claro que se nos presentan diversas versiones porque dependiendo de desarrollos que hayamos efectuado o que se nos presenten en el camino, y las herramientas de desarrollo involucradas, tal vez alguno de ellas no sea compatible con alguna versión de Apache, PHP o MySQL, pero para nosotros que vamos a desarrollar inicialmente con ExtJS todas estas probables incompatibilidades no existen)

La ultima versión publicada a la fecha es:
AppServ 2.6.0, que incluye:
Apache 2.2.8   que corresponde a nuestro servidor Web HTTP, y que por defecto permite interpretar codigos HTML y Javascript. 
PHP 6.0.0-dev   que corresponde al lenguaje de programación del lado del servidor
MySQL 6.0.4-alpha   que corresponde a la base de datos por defecto configurada para interactuar con nuestro servidor HTTP y lenguaje PHP instalado
phpMyAdmin-2.10.3   que corresponde a la interfaz grafica de administracion de nuestra base de datos MySQL, 


..pero puede utilizar sin ningun problema la versión AppServ 2.5.10 que utiliza PHP 5.2.6, y MySQL 5.0.51b que son opciones bastantes robustas...

NOTA: 
el nombre de usuario predeterminado en phpMyAdmin para acceder al servidor MySQL suele ser "root ", y debe emplear como password el que hayan colocado durante la instalación del servidor AppServ.

Como hemos indicado AppServ es una herramienta para la instalación completa del servidor (Webserver y datastore), pero como puede intuirse los componentes del servidor pueden instalarse o reinstalarse por separado (por ejemplo si queremos actualizar nuestra versión, aunque Appserv también comprende esa opción), pero por si desea indagar mas al respecto les entrego el siguiente link que les dará mayores aclaraciones al respecto, y aún cuando se trate de versiones tal vez no actuales, les pueda resulltar útil, por cuanto como ya hemos indicado, quizá más de una vez nos topemos con aplicaciones que no corran con las últimas versiones y necesitemos hacer nuestras pruebas al respecto:


Asimismo, en lo que respecta a PHP, tal vez necesario tener presente el siguiente link, por cuanto, no ahora por supuesto sino a futuro, se entenderá que al utilizar PHP a nivel avanzado así como varios de los "paquetes" que lo utilizan (como los populares servicios sociales de Wordpress, phpBB, Elgg, Drupal, etc.); pues estos requieren para poder funcionar de una manera optima, y actualmente ya es también muy exigida la "certificación" de las llamadas pruebas unitarias incluidas en el framework Zend de PHP, y para ello este link nos puede resultar importante... más incluso si vamos a trabajar a nivel intranet o mixto (acceso simultáneo a través de red local e internet)


A este nivel amigo lector, ya debe tener en claro que el servidor HTTP Apache, la base de datos MySQL y nuestro lenguaje del lado del servidor PHP (así como phpMyAdmin, PERL, PHPUnit, y muchos otros que poco a poco iremos integrando a nuestras aplicaciones), son servicios y que estos son puestos en funcionamiento automáticamente al inicializar Windows o el sistema operativo que empleemos (OS Mac, Linux, Unix, etc); y como cualquier servicio pueden deshabilitarse o habilitarse cuando queramos como por ejemplo al querer actualizar a una nueva version nuestro servidor web,de  nuestra base de datos o al instalar PERL, PHPUnit, etc.. por lo que una vez instalado Appserv resulta conveniente revisar las opciones Appserv instalada en "Todos los Programas" de windows (si es el caso), y revisar las opciones: Add-remove Windows service, para cuando queramos desinstalar o volver instalar nuestro servidor y/o la base de datos MySQL(refiriéndonos al servicio, no a la aplicación, es decir no borra de nuestro disco al servidor, sino que habilita o deshabilita el servicio); así como tambien conviene revisar con detalle los archivos bath de las rutas c:\Appserv\Apache2.2\*.bat; c:\Appserv\PHP6\*.bat y c:\Appserv\MySQL\*.bat, las cuales nos mostraran sus opciones directas de habilitación y deshabilitación de cada servicio.

Resulta asimismo interesante que se revise el funcionamiento de phpMyAdmin, y observar las base de datos y tablas existentes, asi como crear una de base de datos de prueba: podemos llamarla "tutorial" por ejemplo, y ver algunas de sus opciones, pues de hecho, las vamos a utilizar en el futuro.


Hello World


Y entonces ahora, si ya hemos instalado nuestro servidor HTTP con appserv (y al ingresar la direccion http://localhost en su navegador de preferencia : Google Chrome, Mozila Firebug, Opera, IE, etc, observan una pantalla como la indicada), entonces ya estamos listos para iniciarnos con la programación Web.. 






Para ello con su explorador ingrese a la carpeta "www" que se encuentra dentro de la carpeta "c:\AppServ" u otra donde hayamos instalado la aplicación, y dentro de esta carpeta renombre el archivo index.php por "myserver.php" por ejemplo (no elimine ningún archivo que despues nos serán muy utiles); y en esta misma carpeta cree con el notepad u otro editor de textos, un archivo que pondremos como nombre "index.html", digite en ella Hello World! y grabe el archivo...


Una vez efectuado esto, sencillamente abra el navegador de su preferencia (Chrome, Firefox , IE, u otro), y digite en la barra de direcciones http://localhost. y debe aparecer el mensaje dentro de su navegador... y listo!. Pueden buscar cualquier tutorial HTML y copiar los codigos que les sugieran en su archivo y continuar con sus pruebas... ahora si no quieren que la carga sea automatica al ingresar localhost... renombren el archivo index.html creado por cualquier otro nombre pero usando la misma extension html (testing.html `por ejemplo)... y ahora el navegador al refrescar nuestro navegador le mostrara el directorio de los archivos de la carpeta "www" y para ejecutarlos debe hacer click sobre ellos... es decir amigos, ya estan dentro del mundo Web... bienvenidos...

Otro codigo que puedan probar?


  <h1>Hello World...</h1>
  Hello guys, my name is <b>Miguel Angell</b>
  <p style ="color:red;">Bienvenido</p>
  <p style ="color:blue;">Welcome</p>
  <p style ="color:green;">Bem-Vindo</p>

  ...y digite lo que desee.






NOTAS:
  • Puedes editar tu archivo en tu editor de preferencia, hacer las modificaciones que quieras.. salvar los cambios ..y al refrescar tu "browser" observarás lo que has efectuado...
  • Puedes también conseguir mas muestras para probar en conocidos tutoriales como w3school.com entre otros, y seguirlos para incrementar tus conocimientos de HTML, CSS, Javascript.. ó cualquier otro tema referido al mundo Web.



Algo mas elaborado? 

Siga esta direccion: http://ckeditor.com/demo, y llegara a un Editor Web on-line, es decir como si trabajasemos con Word de Microsoft u OpenOffice, y sencillamente para pasar lo que tenemos en el editor, seleccionemos la opcion "fuente HTML", y a continuación "Seleccionar todo" (Ctrl+A); luego peguemos lo que tengamos en memoria en un archivo utilizando notepad u otro editor e textos, que también grabaremos en la carpeta "www" de nuestro Appserv, y la llamamos mytest.html por ejemplo... luego, al refrescar nuestro navegador o ingresar a http://localhost nuevamente, deberia aparecer nuestro archivo mytest.html; y al hacer click sobre él, debe aparecer en nuestro navegador lo que nos muestra el editor como ejemplo.





Algo ligado a Google? 

pues volvamos al Playground de Google, y seleccionemos de alli alguna opcion de nuestro agrado...elijamos la API de Earth (Hello Earth! por ejemplo), de Maps (empecemos con el ejercicio :Map simple ), o cualquiera de las API Visualization, las que sea de nuestro agrado ... en cualquier caso, vayamos a la opcion "Edit HTML" del ejercicio que estemos revisando y seleccionemos todo el código mostrado (boton derecho del mouse, opción "seleccionar todo"); peguemoslo luego en sendos archivos de nombre apropiado: earth01.html, map01.html o visual01.html, etc. como corresponda.. y ejecutelos en su navegador luego de refrescar http://localhost por supuesto, y observemos los resultados...
  



 





y esto es solo el comienzo... 

pueden ahora ingresar a http://youtube.com o www.slideshare.net, y observará que al ejecutarlos al final o al comienzo respectivamente, se puede tener acceso a opciones como URL (léase enlace) y EMBED (léase embebido), y la opción que nos interesa es la EMBED, que se encuentra contenido dentro de etiquetas del tipo <div> <object> ó 
<frame>; en todos los casos, se puede pegar todo este contenido en nuestras paginas web.. hagamos también pruebas al respecto... y finalmente revisemos con mas detalle como pegar imágenes utilizando nuestro mismo editor on-line (donde podemos primero poner todo lo que deseemos antes de pasarlo finalmente al archivo html que probaremos... y por supuesto, revisemos cualquier tutorial respecto a HTML, luego CSS y finalmente Javascript, y de manera bastante simple ya tendremos una primera visión completa de lo que es Desarrollo Web en una de sus principales opciones: la convencional, pues como veremos mas adelante, este mundo presenta varias variantes y opciones interesantes que podemos y debemos considerar...

Volviendo con ExtJs y el Curso del Quizzpot

3.- Cabe asimismo, también mencionar que el Tutorial de Crysfel inicia desde la versión 2.2 del framework  ExtJs, y a la fecha ya se efectuó el lanzamiento de ExtJs4, siendo la ultima versión compatible 100% a la versión ExtJs utilizada en el Curso de Crysfel la version ExtJs-3.4 la que podemos descargar de :

http://www.sencha.com/products/extjs3/download/

..y bueno, por supuesto que las versiones de ExtJs van seguir lanzándose al mercado y mejorando cada vez (mas aun que nos referimos a un framework bastante vigente y activo); pues no nos preocupemos, y sencillamente modifiquemos el nombre de la carpeta a la versión que empleemos (la última por supuesto), y adecuemos el tutorial a la ultima versión de ExtJS y estaremos mucho más actualizados...
..Pero tengamos en cuenta que si utilizamos ExtJs4, las instrucciones de manejo de forms, grids y modelamiento de base de datos principalmente han tenido bastante modificaciones para optimizar su manejo (entre otros cambios internos o de "core" importantes), es por ello que les indicamos donde bajar la versión ExtJs 3.4 la cual es totalmente compatible con lo desarrollado en el tutorial; por supuesto que tal vez seria conveniente empezar a reestructurar e incluso reescribir todo el Tutorial de Crysfel bajo ExtJs4 como parte de nuestro proceso de aprendizaje personal.

A este ultimo apunte, debo también resaltar que ExtJs-3.x esta aún completamente vigente y hay importantes desarrollos en esta plataforma, varios de ellos opensource (pueden revisar el proyecto Sdsimple, (usuario passer password passer), cuyas fuentes podemos incluso bajar a nuestros propios ordenadores personales y acondicionar a nuestras necesidades (consulte en este enlace mas detalles de nuestra versión del proyecto sdsimple), que en este caso, hemos adecuado a la versión ExtJs-3.4 ..teniendo pendiente migrar a la versión ExtJS4..

La curva de aprendizaje de ExtJs no es rápida, pero su lógica de programación es totalmente comprensible e intuitiva para personas con conocimientos previos de programación, y contempla el uso de estándares POO modernos y en pleno vigencia y desarrollo dentro del mundo del desarrollo WEB que los hacen muy atractivo para desarrolladores nuevos.

y bueno amigos, espero que con toda esta introducción puedan empezar sin mayores contratiempos el Curso de ExtJS que nos presenta Crysfel y empecemos a sumergirnos poco a poco dentro del mundo de Desarrollo Web desde cero y sin mayores contratiempos.. ...y por supuesto, pueden postear cualquier duda que tengan directamente aqui o en el Foro de Quizzpot.



Cloud Computing


Cual debe ser nuestra meta? Hasta donde podemos desarrollar? Cloud computing o Nube computacional, se refiere al concepto de lo que significa utilizar Internet actualmente a través de servicios "integrados" y corriendo todo en Internet, como las redes sociales (Window Live, Google Apps, Facebook, Hi-5, Twitter, Google+, etc), e-commerce; e incluyendo la implementación, administración y seguimiento remoto de todo tipo de negocios, o realmente todo lo que se nos pueda ocurrir; accediendo a ellos a través de nuestros navegadores -sin importar que trabajemos sobre Windows, Linux, Unix, Apple, etc.; ó si utilicemos Google Chrome, Firefox, Internet Explorer, etc. ...al indicarles el link del proyecto sdsimple lo que intentamos es mostrarles de una manera concreta que el mundo del Desarrollo Web no solo son paginas Web y redes sociales, también son aplicaciones administrativas y de gestión y todas ellas pueden interactuar entre sí  (y muchas de ellas también opensource y bajo licenciamiento GPL)... y esa es la realidad actual del mundo Web, y es adonde debemos apuntar cada vez que nos conectemos desde nuestras casas, oficinas o de donde tengamos acceso a Internet con nuestros ordenadores personales, de oficina, telefonos celulares, servicio de TV-cable, etc. ..y eso es lo que siempre debemos tener presente cuando empecemos a bosquejar nuestros proyectos.


Opina respecto al framework ExtJs


Opina sobre AppServ y los servidores Apache+PHP+MySql





1 comentario:

Miguel Angel Laynes Sanchez dijo...

ExyJs-3.x o ExtJs-4.x ? ..Por supuesto que siempre debemos apostar por la ultima versión.. pero cabe resaltarles nuevamente que actualmente hay muchas aplicaciones ExtJs-3.x complejas y vigentes en el mercado, así que por el momento resulta conveniente revisar ambas versiones..
Saludos
@Mlaynes