martes, 2 de febrero de 2010

CARACTERISTICAS DE UN BUEN DISEÑO WEB.

Estas características son muchas y entre las mas importantes se encuentran: creatividad e ideas innovadoras, elaboración de sitios accesibles, Diseño Web optimizado para los buscadores, accesoria constante, tecnología de punta, interacción de áreas, plan de marketing estructural, usabiliad, fácil navegación, diseño y rediseño de imagen corporativa y sólida estrategia online.
La actualización constante y permanente de esos atributos hace la diferencia.
Es el cliente el verdadero protagonista de este proceso, quien asesorado permanentemente, encamina el proyecto en base a sus demandas. Sin la voz del cliente, sin su participación activa, la línea identificatoria del proyecto carece de sentido y el diseño pierde contenido por más atractivo y moderno que sea. El papel que desempeñen los profesionales del diseño escuchando la voz activa del cliente y apuntando a un usuario potencial es el trípode perfecto para la labor conjunta de un proyecto la altura de las circunstancias.
el diseño de páginas web debe estar optimizado para buscadores.

*Para conseguir este objetivo, una página web necesita una promoci ón activa , que no se limita a un diseño gráfico atractivo, puesto que el medio es internet, y las herramientas que sirven para buscar las páginas (buscadores como google, yahoo, live...), las ordenan teniendo en cuenta sus contenidos, el nivel de importancia de aquel tema en una página concreta comparativamente a otras páginas, y también el interés que genera el contenido en otras páginas web... entre otras.

*PARA IDENTIFICAR PÁGINAS WEB BIEN OPTIMITZADAS
HAY QUE TENER EN CUENTA:

En el caso de tratarse de una página web diseñada en flash, no hay que esperar obtener demasiados resultados, la promoción web de las páginas flash en buscadors pierde muchas oportunidades de éxito, puesto que no se pueden promocionar bien las pantallas interiores, por lo tanto, trabajando únicamente con flash no es posible ofrecer páginas web bien optimizadas para buscadores.

Si la página utiliza frames, veremos resultados de buscadores que nos llevarán a partes de la pantalla que no se corresponden con las pantallas enteras (puesto que en este caso, hay que incluir ciertas instrucciones que normalmente no se ponen), por lo tanto, es muy improbable que se obtengan páginas web bien optimizadas para buscadores.

Por estos motivos, no son nada recomendables para conseguir páginas web bien optimizadas para buscadores ni las páginas flash ni los frames.

En el caso de tratarse de una página html, php, asp... (.php, .asp y otras extensiones de pantallas web programadas con bases de datos, también tienen sus particularidades, aun cuando no son tan restrictivas), google y otros buscadores nos ofrecerán tantos resultados como pantallas tengan indexadas. Aquí, si las páginas web han sido bien optimizadas para buscadores, (entre cuatro meses y un año después de realizar la optimización de la página web para buscadores) se verán tantos resultados como pantallas web se quiera que aparezcan en los buscadores, además, cada pantalla tendrá su título y su descripción acorde con la información que contenga. Las pantallas que no se hayan optimizado, nos ofrecerán resultados del estilo.

CARACTERISTICAS DE UN BUEN DISEÑO WEB

*• Son convenientes para encontrar información o realizar una acción determinada con un mínimo esfuerzo por parte del visitante.

• Permiten entrar y salir del sitio web tan fácil y rápido como sea posible, incluyendo el hecho de que todo lo que se realiza en la página también es rápido.

• Y para el internauta, visitar y utilizar un sitio web también tiene un costo de oportunidad, que en todos los casos aspira que sea el mínimo. Eso lo queremos todos.

Pero es difícil diseñar para que la experiencia del auto-servicio sea positiva y satisfactoria. Requiere de un gran esfuerzo de focalización, de simplicidad y claridad de los mensajes.

La gente navega y lee muy rápido en Internet, por lo que es muy poco el tiempo que una página web tiene para atender bien a su cliente, el visitante.

DISEÑO WEB
El diseño web es una actividad que consiste en la planificación, diseño e implementación de sitios web y páginas web. No es simplemente una aplicación del diseño convencional, ya que requiere tener en cuenta cuestiones tales como navegabilidad, interactividad, usabilidad, arquitectura de la información y la interacción de medios como el audio, texto, imagen y vídeo. Se lo considera dentro del Diseño Multimedial.

La unión de un buen diseño con una jerarquía bien elaborada de contenidos aumenta la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos, característica destacable del medio.

*El diseño de páginas web trata básicamente de realizar un documento con información hiperenlazado con otros documentos y asignarle una presentación para diferentes dispositivos de salida (en una pantalla de computador, enA papel, en un teléfono móvil, etc).

Estos documentos o páginas web pueden ser creadas:

* creando archivos de texto en HTML.
* utilizando un programa WYSIWYG o WYSIWYM de creación de páginas.
* utilizando lenguajes de programación del lado servidor para generar la página web.

ETAPAS

Para el diseño de páginas web debemos tener en cuenta tres etapas:

* La primera es el diseño visual de la información que se desea editar. En esta etapa se trabaja distribuyendo el texto, los gráficos, los vínculos a otros documentos y otros objetos multimedia que se consideren pertinentes. Es importante que antes de trabajar sobre el computador se realice un bosquejo o prediseño sobre el papel. Esto facilitará tener un orden claro sobre el diseño.

* La segunda, una vez que se tiene este boceto se pasa a 'escribir' la página web. Para esto, y fundamentalmente para manejar los vínculos entre documentos, se creó el lenguaje de marcación de hipertexto o HTML. Los enlaces que aparecen subrayados en este documento y otros de Wikipedia son ejemplos de hipertexto, puesto que al pulsar sobre ellos conducen a otras páginas con información relacionada.

* La tercera, etapa consiste en el posicionamiento en buscadores o SEO. Ésta consiste en optimizar la estructura del contenido para mejorar la posición en que aparece la página en determinada búsqueda. Etapa no gustosa por los diseñadores gráficos, por que a diferencia del texto, aún para el año 2009 no se pueden tener nuevos resultados en los buscadores con sitios muy gráficos.

El HTML consta de una serie de elementos que estructuran el texto y son presentados en forma de hipertexto por agente de usuario o navegadores. Esto se puede hacer con un simple editor de textos (debe guardarse como texto plano, sin ningún tipo de formato y con extensión .html o .htm). Aprender HTML es relativamente fácil, así que es sencillo crear páginas web de este modo. Esta era la única manera de generarlas hasta que aparecieron, a mediados de 1996, algunos editores visuales de HTML, como MS FrontPage y Adobe Dreamweaver. Con estas herramientas no es necesario aprender HTML (aunque sí aconsejable), con lo cual el desarrollador se concentra en lo más importante, el diseño del documento.

Todo esto teniendo en cuenta el nivel de programación en el diseño de las aplicaciones y del impacto visual que se quiere generar en el usuario.

FUNDAMENTOS

Un correcto diseño web implica conocer cómo se deben utilizar cada una de los elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje dentro de los estándares establecidos por la W3C y en lo referente a la web semántica. Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta premisa original se ha perdido. Por ejemplo, este navegador permite que no sea necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide que ese documento web sea universal e independiente del medio que se utilice para ser mostrado.

La web semántica, por otra parte, aboga por un uso lógico de los elementos según el significado para el que fueron concebidas. Por ejemplo se utilizará el elemento

para marcar párrafos, y

para tabular datos (nunca para disponer de manera visual los diferentes elementos del documento). En su última instancia, esto ha supuesto una auténtica revolución en el diseño web puesto que apuesta por separar totalmente el contenido del documento de la visualización.

De esta forma se utiliza el documento HTML únicamente para contener, organizar y estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha información en los diferentes medios (como por ejemplo, una pantalla de computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz, etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del documento.

También existen páginas dinámicas, las cuales permiten interacción entre la web y el visitante, proporcionándole herramientas tales como buscadores, chat, foros, sistemas de encuestas, etc. y poseen de un Panel de Control de administración de contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de contenido en la misma
Accesibilidad

ACCESIBILIDAD

El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas como las del W3C: Pautas de accesibilidad al contenido Web 1.0 WCAG.



WYSIWYG


WYSIWYG es el acrónimo de What You See Is What You Get (en inglés, "lo que ves es lo que obtienes"). Se aplica a los procesadores de texto y otros editores de texto con formato (como los editores de HTML) que permiten escribir un documento viendo directamente el resultado final, frecuentemente el resultado impreso. Se dice en contraposición a otros procesadores de texto, hoy en día poco frecuentes, en los que se escribía sobre una vista que no mostraba el formato del texto, hasta la impresión del documento. En el caso de editores de HTML este concepto se aplica a los que permiten escribir la página sobre una vista preliminar similar a la de un procesador de textos, ocupándose en este caso el programa de generar el código fuente en HTML.

Ejemplos de editores HTML tipo WYSIWYG son: Dreamweaver, NVU/Kompozer, las versiones de Composer de Netscape y Mozilla, Amaya, Writer (de OpenOffice.org), Adobe Golive, Frontpage. También existen editores que se pueden integrar en formularios de páginas web como FCKeditor, TinyMCE, FreeRichTextEditor.

En el área de diseño web existen también herramientas WYSIWYG, dentro de los llamados CMS (Content Management System); aunque un CMS no tiene porqué ser WYSIWYG, es decir puede ser un gestor de contenidos cuyo panel de gestión no se corresponda con el diseño final, sino que en este caso se utiliza un back-end o panel de gestión para crear-modificar los contenidos, que serán reflejados en el front-end o parte final que ven los usuarios. En el grupo de los CMS WYSIWIG hay varias aplicaciones, incluso alguna de ellas con tecnología flash, como por ejemplo Easy Site Manager.

Un buen y actual ejemplo de editor específico de textos que no es WYSIWYG es aquel que utiliza formato de documento: LaTeX.

WISINWYM

WYSIWYM es un acrónimo que significa "lo que ves es lo que quieres decir" (en inglés: What You See Is What You Mean). Es un paradigma para la creación de documentos alternativo al modelo (más difundido) WYSIWYG.

En este paradigma, el usuario se encarga de introducir los contenidos de forma estructurada siguiendo su valor semántico, en lugar de indicar su formato de representación final. Por ejemplo, indicando si lo que está escribiendo es un título, una sección, un autor, etc. Para poder utilizar este tipo de editores es necesario conocer, a priori, la estructura del documento que se va a editar. Además, el procesador de texto debe ser capaz de generar el documento en su formato final, coherente con el texto introducido y siguiendo la estructura utilizada.

La principal ventaja de este sistema es que se produce una total separación entre contenido y presentación. Por lo que el usuario sólo debe preocuparse de estructurar y agregar los contenidos, dejando los aspectos visuales a cargo del sistema de exportación. Además la exportación podrá realizarse en distintos formatos a partir de los mismos contenidos.

La edición de páginas Web está dominada por el modelo de edición WYSIWYG. Aunque este modelo ha sido criticado,[2] [3] especialmente por generar páginas de escasa calidad, y hay voces que reclaman un cambio hacia editores del tipo WYSIWYM.[4] [5] [6]

El primer editor Web en definirse como un editor WYSIWYM es el WYMEditor.[7] En este editor la estructura de los documentos se define mediante clases CSS aplicables a elementos HTML. Dichas clases también contienen la información acerca de la estética final del documento. Aunque sigue un modelo WYSIWYM, el formato de los documentos es siempre HTML, por lo que las posibilidades para definir estructuras y generar el documento final se limitan a definir nuevas clases y aplicarles elementos de presentación.

Existe otro proyecto[8] cuyo objetivo es definir una arquitectura que permita el uso de editores puramente WYSIWYM. Para ello utilizan un lenguaje propio, denominado WebCS, para definir la estructura de los documentos. Mediante un editor WYSIWYM se editarían los contenidos propios de cada tipo de documento. Estos contenidos se almacenan en un formato XML, etiquetados según su valor semántico, y la transformación al formato de documento final se realiza mediante una hoja de estilos XSL. Por lo que los contenidos pueden transformarse a cualquier otro formato. En este caso la separación entre contenido y presentación se realiza mediante el par XML-XSL, por lo que se produce a un nivel superior que la separación aportada por HTML-CSS. Sin embargo esto conlleva una mayor dificultad y requiere de mayores conocimientos para diseñar las estructuras de los documentos y las transformaciones. Aunque el objetivo del proyecto no es implementar un producto final, sino definir la arquitectura del sistema presentan un prototipo de editor (WebCS Editor[9] ) para demostrar el funcionamiento del sistema.



viernes, 22 de enero de 2010

lenguajes de programacion POO

CONSULTA
1. tipos de lenguaje de programacion : *http://factoriaonrails.blogspot.com/2009/06/hosting-gratuito-de-ruby-on-rails.html

Los tipos de lenguajes de programación los podemos clasificar en dos grandes grupos. Los lenguajes de programación de bajo nivel y los de alto nivel. El tipo de lenguaje de programación de bajo nivel depende totalmente de la máquina, en este caso de la computadora u ordenador, estos solos entienden el lenguaje binario o el código máquina, que consiste en ceros y unos. Es decir, que para realizar cualquier acción, solo utilizan este tipo de lenguaje de programación.

Los lenguajes de programación más cercanos a la arquitectura del hardware pertenecen al tipo de lenguajes de programación de bajo nivel. Mientras que los lenguajes de programación que se encuentran más próximos a los usuarios y programadores pertenecen al tipo de lenguajes de programación de alto nivel.

El tipo de lenguaje de programación de bajo nivel es totalmente dependiente de la computadora u ordenador, es decir que no podemos utilizarlo en cualquier otra. Este tipo de lenguaje de programación está prácticamente diseñado a la medida del hardware y aprovecha las características de este. Dentro de este tipo de lenguajes de programación podemos citar al lenguaje máquina y al lenguaje ensamblador.

Dentro del tipo de lenguajes de programación de alto nivel tenemos a todos aquellos lenguajes de programación que son más afines al lenguaje natural que al lenguaje máquina. Estos lenguajes de programación son completamente independientes de la arquitectura del hardware de la computadora u ordenador. Por lo que en general, un programa escrito con un lenguaje de programación de alto nivel lo podemos utilizar en cualquier otra computadora.

Estos lenguajes de programación de alto nivel solo necesitan un traductor que entienda el código fuente y las características de la máquina para poder funcionar correctamente.

También es conocido el tipo de lenguaje de programación de medio nivel, que es una mezcla entre los dos anteriores. A este tipo de lenguajes de programación pertenecen todos aquellos lenguajes que llevan a cabo acciones como: acceder a registros del sistema, usar direcciones de memoria (características de los lenguajes de programación de bajo nivel) pero a la vez efectúan operaciones de los lenguajes de alto nivel. Dentro de este tipo de lenguajes de programación de nivel medio tenemos al lenguaje de programación C.


C: Bastante antiguo pero todavía muy muy muy usado para programación a bajo nivel (eso significa casi como hablarle a la PC en su idioma) Se usa para desarrollar drivers, aplicaciones de DOS y casi en cualquier programa de Unix/Linux vas a tener que programar en C. Es también el favorito de las universidades para enseñar a programar, junto con Pascal que es del estilo.


C++: Es uno de los ejemplos de "orientado a objetos". Muy utilizado para hacer aplicaciones más grandes ya que introduce el concepto de clase y objeto. Para tener una idea rápida, una clase es un "molde" para hacer objetos. Un objeto sería algo así como un conjunto de funciones (procedimientos, rutinas) y variables. Otros lenguajes orientados a objeto que podrías llegar a ver es el Smalltalk que dicen es el único "TOTALMENTE" orientado a objetos. Eso es porque en C++ no todo es un objeto, pero en Smalltalk si. También tenes el Visual C++, que es de Microsoft y te permite hacer todo lo que te puedas imaginar en aplicaciones windows. Es más, si no me equivoco, Windows mismo (el sistema operativo) está escrito en Visual C++.

C# y C++ .NET: Es lo "último" de programación de Microsoft. Según MS si queres estar en el futuro tienes que saber .NET. Es el C++ pero con más clases predefinidas (podes hacer más escribiendo menos, ya que el lenguaje te provee de código pre-escrito, listo para usar). Según tengo entendido el MSN Messenger está programado en C++ .NET.


Java: Es la competencia de SUN para los lenguajes de Billy. También tiene un montón de clases predefinidas para ayudar a programar y es un lenguaje muy similar al C++ en cuanto a su sintaxis (forma de escribir). Lo bueno de Java es que no depende de la plataforma. Puede andar tanto en MAC como en UNIX o en Windows.


Visual Basic: Es el preferido de los que necesitan programar una aplicación en tiempo record. Creo que se pueden llegar a hacer sistemas casi completos en un día. Sumamente intuitivo y fácil: prácticamente se "dibujan" los programas arrastrando botones, cuadros de texto, etc. También para tener acceso a base de datos es uno de los preferidos. Tantas ventajas sin contra? Si tiene contra... los programas resultantes son muy pesados y cuanto más complejos más lentos y menos eficientes. Adicionalmente es bastante complicado tener acceso a recursos de bajo nivel como puertos, drivers, etc, que con C y C++ no hay problema. Recomendado para principiantes.


SQL: Casi cualquier persona que quiera programar en PHP o VB (Visual Basic) con base de datos TAMBIÉN debería saber SQL: un lenguaje para manejar base de datos y hacerle consultas a sus tablas.

2. programacion orientada a objetos POO(todos los terminos, que es una clase....) http://www.desarrolloweb.com/articulos/499.php

Clases en POO

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Propiedades en clases

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Métodos en las clases

Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Objetos en POO

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.

Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto.

miCoche = new Coche()

Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase coche.

Estados en objetos

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado.

Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto.

miCoche.color = rojo

El objeto es miCoche, luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación.

herencia y el polimorfismo que son unas de las posibilidades más potentes de la POO.?????????????????????????
La herencia sirve para crear objetos que incorporen propiedades y métodos de otros objetos. Así podremos construir unos objetos a partir de otros sin tener que reescribirlo todo.



3. construir un objeto en ruby

class Perro
#variables
attr_accessor :nombre
attr_accessor :edad
attr_accessor :raza

#metodo,acciones del sistema
def self.llenar
arr = Array.new
i = 0
#ciclo haga
loop do
puts "ingrese edad o enter para salir"
edad = gets.chomp
return arr if edad == ""
puts "Ingrese nombre "
nombre = gets.chomp
puts "Ingrese raza "
raza = gets.chomp.to_i

obj = Perro.new
obj.edad = apodo
obj.nombre = nombre
obj.raza = edad
arr[i] = obj

i=i+1
end
end

def self.imprimir(arr)
arr.each do |item|
puts "nombre: #{item.nombre} raza : #{item.raza} Edad:
#{item.edad}"
end
end

end

arr = Perro.llenar
Perro.imprimir(arr)




4. subir al blog



bibliografia:
*http://es.kioskea.net/contents/langages/langages.php3 (lenguaje de programcion)
*http://diario-ruby-facil.blogspot.com/2007/09/rubyiii-bucles-y-condiciones.html(apendiendo ruby)
*http://rubytutorial.wikidot.com/clases-objetos(aprendiendo ruby)
http://150.185.75.30/atiwiki/index.php/RUBY_ON_RAILS(ruby ejecutar en trminar)
http://es.kioskea.net/contents/poo/objet.php3(definicion de objeto)
*http://rubytutorial.wikidot.com/metodos(crear metodos paso a paso)
*http://www.emagister.com/manual/ (cursos gratis)