Conceptos básicos del desarrollo de aplicaciones web. Fundamentos teóricos del desarrollo de aplicaciones web. Procedimiento para realizar trabajos de laboratorio.

Hoy hablaremos del libro de Sammy Purival. Conceptos básicos del desarrollo de aplicaciones web" (enlace al sitio web de la editorial "Peter"), en inglés se llama "Learning Web App Development" (enlace a amazon.com). Esa feliz ocasión en la que un libro en ruso cuesta menos que el original: 300 rublos frente a casi 20 dólares de la versión electrónica.

Sin embargo, normalmente tomamos y leemos libros no porque sean baratos o caros, sino porque pueden aportarnos al menos algún beneficio. El libro se posiciona como una guía para principiantes que no se han ocupado del desarrollo. Describe todo el proceso de creación de aplicaciones, además de las tareas, paso a paso. Las tecnologías utilizadas son HTML, CSS, JavaScript, Express, Redis, texto sublime 3, git, MongoDB, Vagrant, Oracle VM VirtualBox, Cloud Foundry y también utiliza la API de Twitter. Todo esto cabe en 272 hojas, incluida la portada. Impresionante resultado. A continuación puedes leer sobre todo con más detalle.

En el momento de escribir este artículo, el autor ya había trabajado durante unos 10 años como profesor de informática y consultor independiente de JavaScript. La gente suele empezar a crear algo propio cuando no pueden encontrar algo adecuado entre otras personas, y eso es lo que pasó con este libro. Fue creado bajo la influencia del tiempo sobre cómo debería verse. desarrollo web moderno. Es posible que este curso no sea adecuado para todos. Sammy Purival también es honesto y dice que este libro no te convertirá en programador y lo más probable es que, después de completar el curso, nadie te llame a trabajar. Esto es cierto, pero las cosas grandes comienzan con algo pequeño.

El libro debe leerse activamente, sentado junto a la computadora. El autor intenta hacer lo imposible y muestra recetas para Windows / Linux / MacOS, aunque algunas recetas pueden no funcionar durante este tiempo y las interfaces web de los sitios han cambiado, debemos rendir homenaje al hecho de que ha hecho mucho. de trabajo. Todo el camino comienza con la preparación: con la instalación. editor de texto y navegador. Por mi parte, me gustaría señalar que hice todo en Firefox y no experimenté ningún problema, en uno de los capítulos se lanzará un "código peligroso", y aquí está Firefox, a diferencia de él; Google Chrome Puede ejecutarlo sin ningún parámetro. En general, el primer capítulo no debería presentar dificultades especiales.

El segundo capítulo comienza la historia de HTML moderno, que se puede utilizar para crear páginas web estáticas y, además, sigue siendo la base de las aplicaciones web. Puede que el material no sea muy extenso, pero aunque nunca lo hayas tratado, te dará conceptos generales. Puedes fortalecer tus habilidades en numerosos cursos en línea. Por ejemplo, utilicé codecademy (y un enlace al curso de aprendizaje de HTML). Además, a partir del segundo capítulo, comienza el uso sencillo de git.

El tercer capítulo abre posibilidades formato CSS. Sami mesas en cascada estilos hechos archivos html más sencillos y limpios, y además se pueden cambiar y obtener mucho más rápido excelente resultado. Para aquellos a quienes este capítulo no les resultó suficiente, pueden probar el curso en línea, así como marcos CSS como Twitter Bootstrap y Zurb's Foundation.

En el cuarto capítulo, el autor nos presenta JavaScript y sus biblioteca jQuery Sin embargo, se puede adquirir un conocimiento más profundo de este idioma en el curso o, por ejemplo, en el libro " JavaScript expresivo"(sin registro ni SMS, libro gratuito en Habré). Puedes tener diferentes actitudes hacia JS, pero hoy en día es uno de esos lenguajes que necesitas saber al menos un poco para trabajar en la web.

En el quinto capitulo estamos hablando de sobre JSON, AJAX y entre otras cosas creadas interesante aplicación, para buscar imágenes en Flickr.

En el sexto capítulo debes ser paciente y fuerte, debes configurar máquina virtual y el entorno que lo rodea. Desde que se publicó el libro, algunas cosas han cambiado y tuve que retocar mucho. Sin embargo, puedes alquilar un servidor web y realizar la tarea allí también, configurando el entorno tú mismo. Aquí es donde está la hoja de trucos. administrador de paquetes npm (enlace a habr). Aquí puede que necesites cuenta para Twitter quien quiere tu número telefónico. Hacerlo o no hacerlo depende de usted.

El séptimo capítulo habla de las bases de datos Redis y MongoDB, por un lado es una buena presentación, por otro parece que falta algo. Como añadido, uno de los libros recomendados es “7 Bases de Datos en 7 Semanas” de Eric Redmond y Jim Wilson, su dificultad radica en que sin leer y completar el capítulo anterior no se debe pasar al siguiente, y ahí Tampoco hay información sobre la instalación y configuración de las bases de datos. Lo cual en sí mismo es un problema. También está la Universidad MongoDB, pero hay que tener paciencia para esperar a que lleguen nuevas tareas. Tal vez esto sea para alguien buena opcion, tú decides.

NETO tiene extensión especial " .aspx ".

Cómo funciona ASP. NET se ve así:

  • Cuando un navegador web solicita un archivo ASP.NET, el servidor web IIS reenvía la solicitud al módulo ASP.NET del servidor.
  • El módulo ASP.NET lee el archivo línea por línea y ejecuta los códigos de script contenidos en el archivo.
  • El archivo ASP.NET se devuelve al navegador web, pero en forma de un documento HTML normal.

Cualquier página ASP. NET está representado por una clase derivada de la clase System.Web.UI que define propiedades, métodos y eventos que son comunes a todas las páginas que deben ser procesadas por el marco ASP.NET. NETO

Mayoría propiedades importantes de este objeto se muestran en la siguiente tabla:

Propiedad Descripción
Solicitud Devuelve un objeto HttpApplicationState
Cache Devuelve un objeto Cache que almacena datos de la aplicación, incl. y la pagina misma
EsPostBack Devuelve un valor que indica si la página fue cargada por primera vez por el cliente o recargada en respuesta a una solicitud del cliente.
Pedido Devuelve un objeto HttpRequest utilizado para obtener información sobre una solicitud HTTP entrante
Respuesta Devuelve un objeto HttpResponse utilizado para formular la respuesta del servidor al cliente.
Servidor Devuelve un objeto HttpServerUtility
Sesión Devuelve un objeto Sistema.Web.SessionState.HttpSessionState, que proporciona información sobre la sesión HTTP actual

Este diseño del proyecto le permite almacenar por separado. código de presentación para generar código HTML (en un archivo *.aspx) desde lógica del programa (en el archivo *.aspx.cs), lo que en muchos casos simplifica enormemente el desarrollo de aplicaciones web complejas.

Procedimiento para realizar trabajos de laboratorio.

Para trabajar con los ejemplos de esta práctica de laboratorio, necesitará instalar el entorno desarrollo de microsoft estudio visual 2005+ y servidor web IIS 5+ (servidor de información de Internet).

Una vez que el proyecto esté completo, contendrá los archivos Default.aspx, Default.aspx.cs y Default.asp.designer.cs.

El primero contendrá algo como el siguiente código:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" Default.aspx.cs" Inherits="ASPNETHello._Default" %> Página sin título



En este código puede ver que, en primer lugar, se utilizará el lenguaje C# para generar el código HTML devuelto al navegador (consulte el atributo Idioma). En segundo lugar, el código C# está contenido en un archivo separado que se ejecutará en el servidor web (consulte el atributo CodeBehind). Finalmente, el atributo Inherits apunta al nombre de la clase definida en CodeBehind.

Una innovación importante en ASP. NET es el atributo runat="server" colocado en la etiqueta

. significa que este elemento debe ser procesado por el tiempo de ejecución de ASP. NETO.

  1. Ahora entre las etiquetas
    Y
    pegar código

    ¡Hola!

    Soy

    <%=Request.ServerVariables["HTTP_USER_AGENT"] %>>

    EN en este ejemplo la propiedad Solicitud de un objeto derivado de la página se utilizó para obtener el valor variable de entorno HTTP_USER_AGENT.

    El código C# contenido en el archivo Default.aspx.cs podría verse así.

Concepto y clasificación de tecnologías web.

Desarrollo de lo moderno equipo de computo e implementación últimas tecnologías marcó el comienzo de una nueva dirección de la vida en la Tierra. En un período de tiempo bastante corto, se han producido muchos cambios en el desarrollo de la microelectrónica y la cibernética.

El progresivo desarrollo de la tecnología ha provocado la aparición de nuevas productos de software. Cada año más y más más lenguajes de programación. Todos ellos están dirigidos principalmente al público objetivo.

No sólo se están desarrollando las computadoras, sino también las redes. Si hace apenas unas décadas Internet era un pequeño red privada, ahora es un gigantesco sistema de ordenadores interconectados, sin el cual tal vez no podamos imaginar la vida.

Internet no es sólo una "piscina genial" en la que las personas muy "sobrecalentadas" se sienten tan cómodas, sino también un lugar donde puedes "tocar" casi cualquier tema candente sin miedo a quemarte.

La tecnología web ha revolucionado por completo la idea de trabajar con información y con una computadora en general. Resultó que los parámetros de desarrollo tradicionales tecnología informática- productividad, rendimiento, la capacidad de los dispositivos de almacenamiento no tuvo en cuenta el principal "cuello de botella" del sistema: la interfaz con una persona. Un mecanismo obsoleto para la interacción humana sistema de información restringió la introducción de nuevas tecnologías y redujo los beneficios de su uso. Y sólo cuando la interfaz entre el hombre y la computadora se simplificó hasta el punto de la percepción natural. una persona ordinaria, seguido de una explosión de interés sin precedentes en las posibilidades de la tecnología informática.

Información, disponible para los usuarios Internet, se encuentra en computadoras (servidores web) en las que se encuentra un software. Gran parte de esta información está organizada en forma de sitios web. Cada uno de ellos tiene su propio nombre (dirección) en Internet. Un sitio web es información presentada de una determinada forma, que está ubicada en un servidor web y tiene su propio nombre. Para ver sitios web en la computadora del usuario, use programas especiales que se llaman navegadores. Los navegadores más comunes actualmente son Explorador de Internet y Navegador Netscape. Dependiendo del nombre del sitio que especifiquemos en la línea "Dirección", el navegador cargará la información correspondiente en su ventana.

Un sitio web consta de páginas web interconectadas. La página web es archivo de texto con extensión *.htm, que contiene información de texto Y equipos especiales- Códigos HTML que determinan cómo se mostrará esta información en la ventana del navegador. Toda la información gráfica, de audio y de vídeo no está incluida directamente en la página Web y representa archivos separados(Figura 1 Apéndice A).

Las aplicaciones web modernas son básicamente portales que brindan servicios a los que no se puede acceder desde ningún otro lugar. Uno de los inconvenientes. servicios similares-- dificultad para intercambiar información entre empresas. En particular, incluso el contacto y otros información personal debe volver a ingresarlo en cada uno de esos sitios.

Actualmente, en cuanto a su finalidad, existen tres tipos principales de portales:

Portales públicos u horizontales (a veces llamados megaportales), como Yahoo, Lycos, Excite, Rambler. Estos portales suelen ser el resultado del desarrollo de los motores de búsqueda. Están destinados al público más amplio, lo que se refleja en el contenido de la información y los servicios que proporcionan. Normalmente, esta información es carácter general, así como los servicios prestados (correo electrónico, newsletters, etc.).

Portales verticales. Este tipo de portal está destinado a tipos específicos mercado y sirve a la audiencia que utiliza u opera en ese mercado. Ejemplos de dichos portales incluyen, por ejemplo, agencias de viajes que brindan servicios de reservas de hotel, pedido y entrega de boletos, acceso a mapas e información sobre rutas de carreteras, o portales B2B (de empresa a empresa) que permiten a sus clientes implementar acciones conjuntas. operaciones comerciales (por ejemplo, selección de proveedores y compra de bienes, realización de subastas).

Los portales corporativos están destinados a empleados, clientes y socios de una empresa. Los usuarios de dicho portal reciben acceso a los servicios y aplicaciones destinados a ellos, en función de su función y perfil personal.

Otras aplicaciones web más comunes:

Portales regionales de Internet, universales en su alcance, pero limitados por la geografía de los visitantes interesados ​​(e1);

Los motores de búsqueda son portales de Internet diseñados para brindar a sus visitantes la oportunidad de encontrar sitios en los que se encuentran. palabras dadas o frases completas (metabot);

Un directorio es una colección de enlaces a sitios. ¿Por qué necesitamos catálogos si hay una búsqueda? Muchas veces no sabemos exactamente lo que necesitamos, no podemos formularlo en pocas palabras (correo);

Los tableros de anuncios electrónicos son un lugar en Internet donde casi cualquier persona puede dejar información de carácter informativo, de invitación o publicitaria;

Los foros son sitios o secciones especiales de sitios diseñados para permitir a los visitantes dejar mensajes e intercambiar opiniones;

Los chats son un lugar más de comunicación en Internet, pero su finalidad no es intercambiar opiniones sobre algún tema, sino simplemente pasar el tiempo;

Archivos para descargar;

Galerías de fotos;

Elementos de estadística;

Almacenamiento de información diversa en Internet;

Servidores listas de correo, ofrecen servicios de entrega de información. a un amplio círculo lectores (suscríbete);

Tiendas online y subastas (ozon, molotok).

Requisitos para aplicaciones web

El punto de partida en un proyecto web es un análisis de los objetivos del sitio y las funciones que se ofrecerá al usuario.

La segunda etapa será la construcción. arquitectura de la información sitio.

Una vez conocidos todos los materiales del sitio y su estructura, se puede pasar al diseño de la navegación y de las páginas en sí.

Mapa del sitio

Es necesario colocar un enlace claramente visible al mapa del sitio en cada página. La página que muestra el mapa no debe exceder el tamaño de dos páginas en la pantalla del usuario. Se utilizan dos tipos de mapas: estáticos y dinámicos. Lo más eficaz es utilizar un mapa con una visualización estática de la arquitectura de la información, ya que una vista dinámica lleva al usuario a una confusión aún mayor. El mapa fue creado para orientar mejor al usuario, por lo que el mapa debe mostrar no solo situación actual usuario en el sitio, sino también aquellas secciones que ya ha visitado.

pagina de inicio

La página principal del sitio web de la empresa es la cara del sitio, frente a toda la red (Figura 2 Apéndice B). La página principal establece claramente los objetivos de la empresa y cada elemento de diseño debe permitir al usuario comprender mejor el sitio y decidir la secuencia de acciones para resolver sus problemas.

es con pagina de inicio La mayoría de los usuarios comienzan su recorrido por el sitio. Al mismo tiempo, nuestro sitio debe estar diseñado de tal manera que las personas que acceden al sitio a través de un enlace profundo se sientan cómodas. Para hacer esto, debe colocar en cada página del sitio:

nombre de la empresa o logotipo en la esquina superior izquierda

eslogan individual para el sitio, que consta de una frase

No se puede suponer que el usuario haya llegado a esta pagina, cubriendo todo el camino de principio a fin. Es muy posible que no haya visto la información que le indicamos en las páginas. nivel superior jerarquía. Con los enlaces profundos debemos orientar al usuario hacia un lugar, decirle dónde se encuentra ahora en el sitio, indicándole un enlace de cadena en la página. Si existe la necesidad de que una página no sea indexada en los motores de búsqueda, se debe ingresar en el elemento "HEAD" .

En la sección “Acerca de Nosotros” deberá proporcionar información básica sobre la empresa:

composición del equipo directivo superior (con bibliografía y fotografías);

Información del contacto;

filosofía de la organización (visión empresarial, relaciones comunitarias, aspiraciones);

principales hitos históricos;

Una explicación detallada en la parte superior de la página "Acerca de nosotros" ayuda al usuario a comprender mejor lo que contiene este sorteo.

El texto debe ser fácil de leer tanto para usuarios jóvenes como mayores, por lo que necesitaremos especificar el tamaño de fuente en unidades relativas, y no en términos absolutos, ya que el tamaño lo deben elegir los propios usuarios. En este caso, el texto debe caber completamente en la página, por muy molesto que resulte su uso. desplazamiento horizontal páginas del sitio.

Los usuarios rara vez leen las páginas web palabra por palabra. Durante la primera visualización, busca hechos e ignora los detalles, pero al encontrar material de interés, puede profundizar más. Un esquema aproximado de visualización de páginas se ve así: la primera línea horizontal se ve por completo, la siguiente no se ve en toda su profundidad y con cada línea posterior, la captura de información se reduce cada vez más.

Por lo tanto, los usuarios a menudo sólo ven parte superior artículos. Y sólo los lectores más interesados ​​se desplazarán hacia abajo en la página, y sólo estos pocos entenderán la historia del artículo en todos sus detalles. Por ello, es importante aplicar el “principio de la pirámide invertida”, que consiste en que el artículo comienza con una “conclusión”, seguida de un mensaje sobre el información importante, y al final se dan los antecedentes del evento.

Para que las páginas sean cómodas de ver, utilizaremos:

resaltar palabras clave;

títulos bien escritos;

listas con marcadores;

un párrafo por idea (los usuarios se saltarán todas las demás ideas si no les atraen las palabras principales del párrafo);

estilo pirámide invertida (donde el artículo comienza con una conclusión);

menos palabras que en un artículo normal;

un mínimo de términos poco comprendidos;

indicando la fecha de creación del mensaje (para saber cuánto tiempo es, es relevante en este momento);

información contextual del atributo "ALT".

Los encabezados de los correos electrónicos suelen mostrarse fuera de contexto:

en la lista de artículos del sitio;

en encabezados de mensajes de correo electrónico;

en los resultados de búsqueda;

en los favoritos de tu navegador.

Al mismo tiempo, los usuarios no deberían tener ningún conocimiento superior para comprender nuestro título si se saltan el texto debajo de los títulos. Por este motivo, el texto del título debe ser un dato independiente que permita entenderlo en ausencia del resto del contenido. Al escribir un titular, debe utilizar un lenguaje neutral y no utilizar: juegos de palabras, "sofisticación", "incitaciones", letras mayúsculas(ya que parece que le estamos gritando al usuario)

Los usuarios prefieren títulos significativos. Cuanto más corto sea el microcontenido, más fácil será desnatar. Es necesario excluir el uso de la misma palabra al comienzo de cada artículo y título de página, ya que si se utilizan varios de estos artículos simultáneamente, será difícil seleccionar el artículo requerido en el panel o en los marcadores.

Cuando se le solicite que nos proporcione una dirección de correo electrónico, es necesario decir, aquí y ahora, qué recibirá exactamente el usuario y con qué frecuencia perturbará su tranquilidad. buzón. Enlaces por correo debe usarse de tal manera que podamos entender exactamente lo que está frente a nosotros dirección postal. No coloque enlaces de correo electrónico en los nombres, ya que al hacer clic en un nombre debería acceder a su biografía. Al comunicarse vía correo electrónico no hay motivo para utilizar el nombre específico de uno de los empleados a menos que el usuario haya establecido una relación personal con él (cartas de gente desconocida la mayoría de las veces terminan en la basura).

Para aumentar la credibilidad del sitio, debe utilizar alta calidad. imagenes graficas. Sin embargo, no debes utilizar imagenes grandes, por defecto. Es recomendable utilizar bocetos y, si es necesario, ampliarlos tanto como el usuario desee. Las miniaturas deben contener toda la información básica sobre la imagen. En el sitio, sería más correcto utilizar fotografías de empleados y clientes reales, en lugar de modelos fotográficos con una deslumbrante sonrisa de Hollywood. También es necesario utilizar buen estilo cartas y enlaces de hipertexto salientes a otros sitios. No es necesario utilizar "agua publicitaria", ya que conlleva una carga emocional adicional y los usuarios tienen que dedicar tiempo a separar las hipérboles de los hechos reales.

Adjunto

La forma clásica de aumentar el vínculo con un sitio es publicar materiales nuevos con cierta regularidad (de diario a mensual). Para los interesados, es necesario organizar el envío de material fresco. Casi el 100% de los que se han suscrito visitarán periódicamente el sitio siempre que el autor les recuerde a sí mismo.

El diseño del sitio web debe adaptarse a las personas. Una opción para dicho dispositivo es un perfil, pero completarlo requiere paciencia, razón por la cual lo completan los visitantes establecidos del sitio. Por lo tanto, para rastrear a los usuarios, es mejor utilizar una "cookie", en cuyo archivo todos información necesaria, y no el tedioso procedimiento de registro. Si todavía es necesario para trabajo seguro registro, entonces no debe crear formularios de inscripción demasiado estrictos. Si es posible utilizar el autocompletado y colocar automáticamente el cursor en el primer campo del formulario.

No se deben crear formularios para buscar en Internet; si el usuario lo necesita, utilizará un motor de búsqueda especial.

Los enlaces deben ser predecibles; el usuario debe saber qué sucederá si hace clic en el enlace. Deja claro cuál es el enlace: si es texto, coloréalo o subrayalo. No oculte las diferencias entre enlaces visitados y no visitados. Crear vínculos con la expectativa de que motores de búsqueda son los visitantes más importantes, y están sordos y ciegos para alta tecnología. Diseñe sus etiquetas de “título” para que se vean bien en los motores de búsqueda y en los marcadores, por lo que debe comenzar sus enlaces con una palabra clave.

Evite la aparición de enlaces rotos, ya que otros sitios y motores de búsqueda no enlazarán con nosotros en este caso.

Al navegar por el sitio, permita que el usuario elija cómo abrir las páginas, ya sea en ventanas emergentes o de alguna otra forma.

EN usuarios WEB No prestan atención a nada más que a su objetivo y simplemente ignoran la publicidad que les distrae de alcanzar su objetivo. Si nuestra publicidad aparece antes de que el usuario encuentre el material que le interesa, lo más probable es que se cierre. Y cuando complete su tarea principal y esté listo para mirar más de cerca el anuncio, simplemente no lo verá más porque cerró la ventana emergente. Por lo tanto, nunca debes distraer al usuario de tu objetivo.

Cuando el usuario escribe las palabras de consulta en servidor de búsqueda, los anuncios que aparecen en la lista de resultados de la consulta estarán directamente relacionados con lo que la persona necesita. Y entonces lee estos anuncios y hace clic en los enlaces. Esta publicidad cuesta mucho menos que distribuir folletos.

Entonces, el secreto del éxito es combinar la publicidad con los objetivos de los usuarios.

falta de un botón "Cerrar";

indique claramente lo que sucederá cuando haga clic en él;

da información adicional sobre usted sin tener que salir de la página actual.

Realización de trabajos de evaluación.

Para realizar el trabajo de evaluación es necesario involucrar de tres a cinco participantes. Cada uno de ellos hace el trabajo individualmente. Después de lo cual se comparan sus resultados y se llega a una conclusión única. La prueba se realiza en dos etapas:

  • 1) comprensión de la interfaz;
  • 2) concentración de la atención en determinados elementos.

Es necesario mencionar por separado cada problema, sin importar cómo se repita en el futuro.



Con este libro, aprenderá los conceptos básicos de la creación de aplicaciones web mediante la creación de una aplicación sencilla desde cero con usando HTML, JavaScript y otras herramientas disponibles gratuitamente. Este guia practica en ejemplos reales enseña a desarrolladores web sin experiencia cómo crear interfaz de usuario, construir parte del servidor, organizar la comunicación entre el cliente y el servidor, y también aplicar servicios en la nube para implementar la aplicación.
Cada capítulo contiene problemas prácticos, ejemplos completos, así como modelos mentales del proceso de desarrollo. Este libro le ayudará a dar sus primeros pasos en la creación de aplicaciones web proporcionándole un conocimiento profundo del tema.

Prefacio

A principios de 2008, seis años después de graduarme de la escuela secundaria y trabajar como profesora a tiempo parcial, tenía muchas ganas de convertirme en profesora de informática a tiempo completo. Rápidamente quedó claro que no era fácil encontrar un puesto docente,
y conseguir un buen trabajo depende más de la suerte que de otra cosa. Bueno, hice lo que hace cualquier académico que se precie cuando se enfrenta a un mercado laboral académico deprimente: decidí mejorar mi competitividad estudiando desarrollo de aplicaciones web.

Esto, por supuesto, suena extraño. Entre otras cosas, en aquel momento yo ya llevaba unos nueve años estudiando informática y, además, llevaba más de seis años enseñando a estudiantes a desarrollar software. ¿No debería saber bien cómo crear aplicaciones web? Parece que no, ya que existe una cierta brecha entre la práctica trabajo diario en desarrollo de software y programación como disciplina académica estudiada en colegios y universidades. De hecho, mis conocimientos de desarrollo web se limitaban a HTML y, hasta cierto punto, CSS, que estaba aprendiendo por mi cuenta en ese momento.

Afortunadamente, tenía varios amigos que trabajaban activamente en mundo de la informática, y la mayoría de ellos en ese momento estaban discutiendo un marco (relativamente) nuevo: estructura sistema de software, así como software especial con el que se pueden desarrollar y combinar componentes de un proyecto de software. - Nota. carril, que se llamaba Ruby on Rails. Esta parecía un buen área para explorar, así que compré algunos libros sobre el tema y comencé a leer tutoriales en línea para ponerme al día.

Y después de unos meses, intentando lograr al menos algo en la práctica, casi me rindo.

¿Por qué? Sí, porque la mayoría de los libros y artículos educativos comenzaron con la suposición de que ya sé cómo crear aplicaciones web y lo he estado haciendo durante varios años. Mientras tanto, a pesar de mi sólida formación teórica en
programación de computadoras, resultó que todos estos materiales son demasiado lacónicos y muy difíciles de entender. Por ejemplo, resulta que puedes tomar varias clases de computación sin encontrarte nunca con el patrón de diseño Modelo - Vista - Controlador, y algunos libros suponen que estás muy familiarizado con él en el primer capítulo.

Sin embargo, pude aprender lo suficiente sobre desarrollo web para realizar algunos trabajos de consultoría, lo que fue útil hasta que conseguí un puesto de profesora. Debido a esto, me sentí tan fascinado por los aspectos prácticos del campo que continué buscando asesoramiento mientras trabajaba como docente.

Después de algunos años de hacer ambas cosas, me pidieron que impartiera mi primera clase sobre desarrollo de aplicaciones web en la Universidad. Carolina del Norte en Asheville. Originalmente planeé comenzar con Ruby on Rails, pero cuando comencé últimos libros y materiales educativos, descubrí que no han mejorado de ninguna manera durante todos estos años. No, fueron de gran ayuda para las personas que conocen muy bien los conceptos básicos, pero para los estudiantes que estudiaron conmigo, definitivamente no eran adecuados.

Triste, pero no sorprendente: los libros académicos sobre desarrollo web eran aún peores. La mayoría de ellos contenían conceptos obsoletos y no cubrían los temas más importantes, necesitaba entender plataformas como Ruby on Rails. Incluso fui crítico de un libro, republicado en 2011 y que todavía describía el diseño mediante tablas y etiquetas. !

Bueno, no tuve más remedio que crear mi curso desde cero y escribir todos los materiales yo mismo. En ese momento, estaba realizando un trabajo de consultoría en Node.js (una adaptación de JavaScript del lado del servidor) y pensé que sería interesante intentar crear un curso que enseñara el mismo lenguaje tanto al cliente como al servidor. Además, me propuse el objetivo de brindar a mis alumnos los conocimientos suficientes para autoestudio Ruby on Rails si deciden continuar.

Este libro contiene la mayoría de Materiales que creé mientras enseñaba este curso en la Universidad de Carolina del Norte en Asheville. Describe cómo crear una aplicación web sencilla basada en una base de datos desde cero utilizando JavaScript. Esto incluye un flujo de trabajo básico (usando un editor de texto y control de versiones), los conceptos básicos de las tecnologías del lado del cliente (HTML, CSS, jQuery, Javascript), los conceptos básicos tecnologías de servidor(Node.js, HTTP, bases de datos), conceptos básicos de implementación en la nube (Cloud Foundry) y algunos ejemplos de buenas prácticas de codificación (funciones, MVC, DRY). A lo largo de nuestro viaje exploramos fundamentos lenguaje javascript, aprenderemos a programar utilizando objetos y matrices, y también veremos los modelos mentales que corresponden a este tipo de desarrollo de software.

Selección de tecnología

Para el control de versiones, elegí Git porque... bueno, es Git y es genial. Además, les dio a mis alumnos la oportunidad de explorar GitHub, que está ganando todo. gran popularidad. Aunque no cubro GitHub en este libro, no es difícil familiarizarse con él una vez que te sientes cómodo con Git.

Decidí usar jQuery para el cliente porque sigue siendo popular y realmente disfruto trabajar con él. Yo no uso ningún otro framework del lado del cliente, aunque menciono Twitter Bootstrap y Zurb Foundation en el Capítulo 3. Decidí no tocar los frameworks modernos del lado del cliente como Backbone o Ember porque los encuentro demasiado complejos para principiantes. Pero podrás empezar a trabajar fácilmente con Rails después de leer este libro.

Para el lado del servidor, elegí Express porque es (relativamente) simplista y no dogmático. También decidí no cubrir las plantillas del lado del cliente y del servidor porque creo que es importante aprender a hacerlo manualmente primero.

Tampoco considero las bases de datos relacionales, ya que es casi imposible cubrir completamente este tema durante el tiempo asignado en el curso. Bases de datos relacionales Preferí MongoDB para los datos porque se usa ampliamente en la comunidad Node.js y usa JavaScript como lenguaje de consulta. Además, me gusta mucho Redis, así que aprenderemos eso también.

Elegí Cloud Foundry como mi plataforma de implementación porque, como descubrí (junto con Heroku y Nodejitsu), era una de las tres que ofrecían uso gratuito y no requerir tarjeta de crédito para configurar servicios externos. En cualquier caso, las diferencias entre plataformas son mínimas y pasar de una a otra no requerirá mucho esfuerzo.

¿Este libro te ayudará?

Este libro no pretende convertirte en un "ninja" o una "superestrella" o incluso una buena persona. programador informático. No lo preparará para un empleo inmediato y ni siquiera puedo prometer mostrárselo " la manera correcta"en el trabajo.

Al mismo tiempo, el libro le brindará un conocimiento profundo de los fundamentos necesarios para comprender cómo funcionan las partes individuales. aplicación web moderna interactúan entre sí y te dan punto de partida para profundizar en el estudio del tema. Si estudias correctamente el material del libro, sabrás todo lo que necesitaba para empezar a aprender Rails al mismo tiempo.

Se beneficiará más de este libro si tiene poca experiencia en programación y ninguna experiencia en desarrollo web. Como mínimo, debe estar familiarizado con las construcciones básicas de programación, como diagramas if-else, bucles, variables y tipos de datos. Sin embargo, no espero que tengas experiencia en programación orientada a objetos ni ninguna lenguaje específico programación. puedes conseguir conocimientos necesarios, aprendiendo de Khan Academy o Code Academy, o tomando un curso de codificación en su universidad local.

Mi esperanza es que este libro pueda usarse no sólo para el autoestudio, sino también como material didáctico en clases públicas de desarrollo de aplicaciones web, o tal vez como un curso de un semestre (14 semanas) en la universidad.

En este libro, aprenderá los conceptos básicos de la creación de aplicaciones web mediante la creación de una aplicación sencilla desde cero utilizando HTML, javascript y otras herramientas disponibles gratuitamente. Esta guía práctica utiliza ejemplos de la vida real para enseñar a los desarrolladores web sin experiencia cómo crear una interfaz de usuario, crear un backend, implementar comunicaciones cliente-servidor y utilizar servicios en la nube para implementar una aplicación. Cada capítulo contiene problemas prácticos, ejemplos completos y modelos mentales del proceso de desarrollo. Este libro le ayudará a dar sus primeros pasos en la creación de aplicaciones web proporcionándole un conocimiento profundo del tema.

A principios de 2008, seis años después de graduarme de la escuela secundaria y trabajar como profesora a tiempo parcial, tenía muchas ganas de convertirme en profesora de informática a tiempo completo. Rápidamente quedó claro que encontrar un puesto docente no era fácil y conseguir un buen trabajo dependía más de la suerte que de cualquier otra cosa. Bueno, hice lo que hace cualquier académico que se precie cuando se enfrenta a un mercado laboral académico deprimente: decidí mejorar mi competitividad estudiando desarrollo de aplicaciones web. Esto, por supuesto, suena extraño. Entre otras cosas, en aquel momento yo ya llevaba unos nueve años estudiando informática y, además, llevaba más de seis años enseñando a mis estudiantes a desarrollar software. ¿No debería saber bien cómo crear aplicaciones web? Parece que no, ya que existe una clara brecha entre el trabajo práctico diario del desarrollo de software y la programación como disciplina académica estudiada en colegios y universidades. De hecho, mis conocimientos de desarrollo web se limitaban a HTML y, hasta cierto punto, CSS, que estaba aprendiendo por mi cuenta en ese momento. Afortunadamente, tenía varios amigos que estaban activos en el mundo de la informática, y la mayoría de ellos en ese momento estaban discutiendo un marco (relativamente) nuevo 1 llamado Ruby on Rails. Me pareció que esto era muy adecuado.
Es un área candente para desarrollar, así que compré algunos libros sobre el tema y comencé a leer tutoriales en línea para ponerme al día. Y después de unos meses, intentando lograr al menos algo en la práctica, casi me rindo. ¿Por qué? Sí, porque la mayoría de los libros y artículos educativos comenzaron con la suposición de que ya sé cómo crear aplicaciones web y lo he estado haciendo durante varios años. Mientras tanto, a pesar de mi sólida formación teórica en programación informática, resultó que todo este material es demasiado lacónico y muy difícil de entender. Por ejemplo, resulta que puedes tomar varias clases de computación sin encontrarte nunca con el patrón de diseño Modelo - Vista - Controlador, y algunos libros suponen que estás muy familiarizado con él en el primer capítulo. Sin embargo, pude aprender lo suficiente sobre desarrollo web para realizar algunos trabajos de consultoría, lo que fue útil hasta que conseguí un puesto de profesora. Debido a esto, me sentí tan fascinado por los aspectos prácticos del campo que continué buscando asesoramiento mientras trabajaba como docente. Después de algunos años de hacer ambas cosas, me pidieron que impartiera mi primera clase sobre desarrollo de aplicaciones web en la Universidad de Carolina del Norte en Asheville. Originalmente planeé comenzar con Ruby on Rails, pero después de consultar los últimos libros y tutoriales, descubrí que no han mejorado en absoluto a lo largo de los años. No, fueron de gran ayuda para las personas que conocen muy bien los conceptos básicos, pero para los estudiantes que estudiaron conmigo, definitivamente no eran adecuados. Triste, pero no sorprendente: los libros académicos sobre desarrollo web eran aún peores. La mayoría de ellos contenían conceptos obsoletos y no cubrían los temas críticos necesarios para comprender plataformas como Ruby on Rails. A mí
Incluso fui crítico de un libro, republicado en 2011 y que todavía describía el diseño mediante tablas y etiquetas. ! Bueno, no tuve más remedio que crear mi curso desde cero y escribir todos los materiales yo mismo. En ese momento, estaba realizando un trabajo de consultoría en Node.js (una adaptación de JavaScript del lado del servidor) y pensé que sería interesante intentar crear un curso que enseñara el mismo lenguaje tanto para el cliente como para el servidor. Además, mi objetivo es brindarles a mis alumnos el conocimiento suficiente para aprender Ruby on Rails por sí mismos si deciden continuar. Este libro contiene gran parte del material que creé mientras impartía este curso en la Universidad de Carolina del Norte en Asheville. Describe cómo crear una aplicación web sencilla basada en una base de datos desde cero utilizando JavaScript. Esto incluye una descripción del flujo de trabajo más simple (usando un editor de texto y un sistema de control de versiones), los conceptos básicos de las tecnologías del lado del cliente (HTML, CSS, jQuery, Javascript), los conceptos básicos de las tecnologías del servidor (Node.js, HTTP, bases de datos) , los conceptos básicos de implementación en la nube (Cloud Foundry) y varios ejemplos de buenas prácticas de codificación (funciones, MVC, DRY). A lo largo de nuestro viaje, exploraremos los fundamentos del lenguaje JavaScript, aprenderemos a programar usando objetos y matrices, y veremos
Modelos mentales que corresponden a este tipo de desarrollo de software.

¿Te gustó el artículo o libro? Comparte con tus amigos:



 Arriba

Autor del libro
Año de lanzamiento: 2015
Género: » » » Fundamentos de desarrollo de aplicaciones web / Sammy Purival (2015)
Editor: Pedro
Idioma: ruso
Estado: Para programadores avanzados
Formato: pdf
Número de páginas: 272
Enlace de descarga
Proporcionado al sitio 3 de julio de 2017 23:07