appywebTripticoPag1

appyweb alcoy,desarrollo web ,desarrollo app,diseño grafico,arduino, tecnologia,seo, sem, comunity manager,diseño web,diseño app,web,app.

Anuncios

appyweb tu empresa de desarrollo web en alcoy

Analítica web

 

El análisis de los datos de de una web, hoy en día, debe ser mucho más que la medición de los datos de cuantas visitas tiene cada día y de donde vienen.

Tener esta información nos ayudará a desde optimizar nuestra inversión en marketing online hasta detectar los puntos donde el usuario encuentra dificultades para finalizar un proceso.

Componentes en Android

En Android tenemos unos componentes básicos que debemos conocer, saber qué son y en qué nos pueden servir.

Así sabremos qué es lo que nos va a ser de utilidad para cada aplicación que afrontemos. 
Tendremos seis componentes que podemos utilizar:

 

Activity

Las actividades son las pantallas que vemos de un móvil, que está conformada por dos archivos, un archivo XML (parte gráfica) y un archivo .Java (la parte lógica) de nuestra ventana.

 

 

Services

Los servicios son tareas que se realizan en segundo plano y no contienen una interfaz de vista para el usuario.

 

 

Content Provider

El Proveedor de contenido nos sirve para proporcionar datos a nuestra aplicación, esto nos ayuda a compartir datos sin preocuparnos por el mecanismo de almacenamiento, lo que nos importa es la información que nos puede proporcionar para una o varias tareas que necesitan los datos en la aplicación.

 

 

Intent

Los intents son objetos que sirven para mandar mensajes. Además, se puede pedir ejecutar una acción a otro componente con el mismo intent. Dentro de los intents existen diferentes tipos dependiendo de lo que necesitemos.

 

 

Widget

Los widgets son “pequeñas” aplicaciones que reciben actualizaciones periódicas, por ejemplo en algunos móviles tenemos widgets del clima en nuestro móvil, sin necesidad de entrar a la app tenemos la opción de colocar el widget en una de nuestras ventanas principales en Android y lo mismo sucede con algunos reproductores de música, etc. La idea es que el usuario pueda hacer cosas sin entrar directamente en la aplicación.

 

 

Processes and Threads

Cuando una aplicación se inicia, lo que sucede de manera muy técnica, es que se crea un proceso. Entonces todo lo que se ejecuta dentro de esa aplicación es parte del mismo proceso de ejecución. Un hilo es otra forma de dividir el trabajo, un proceso puede tener varios hilos de ejecución, el hilo lo podemos tomar como una secuencia de control dentro de cualquier proceso y este ejecuta lo que indiquemos de manera independiente.

 

Estos son, a grandes rasgos, los componentes que podemos encontrarnos dentro de una aplicación Android.

CÓMO HACER SU PROPIO PROTOTIPO PRIMO MEDIANTE LA FABRICACIÓN DIGITAL Y LA PLACA ARDUINO

 

doc primo

Primo equipo ‘s nos envió una excelente noticia desde su cuartel general de su contribución a la comunidad de código abierto. Después de la exitosa campaña de Kickstarter para lanzar el juego-juego de madera que utiliza las formas, los colores y la conciencia espacial para enseñar la lógica de programación a través de un tacto, cálido y mágico experiencia de aprendizaje, ellos dieron un paso más. Lanzaron toda la documentación y las instrucciones para producir un prototipo Primo, diferente del producto que fabrican y venden.

Acabamos de terminar la primera edición de la configuración jugar documentación abierta Primo , que incluye los archivos de diseño que utilizamos para hacer nuestro primer prototipo y una guía paso a paso para hacer su propia versión del Primo PLAY SET. Esta versión “creador” de nuestro producto puede ser ensamblado usando técnicas de prototipado rápido y herramientas comunes, como las placas Arduino.

Recientemente hemos publicado un avance de esta documentación sólo para nuestros patrocinadores Kickstarter, que ya comenzaron a construir sus proyectos y para traducir el documento en su idioma. El FabLab en São Paulo , por ejemplo, ya se tradujo en brasileño portugués, mientras que otros idiomas como el holandés, italiano y japonés están ahora en progreso.

Toda la documentación es completamente transparente: está escrito en Markdown usando Jekyll páginas y GitHub. De esta manera, es muy fácil para los creadores de modificar, traducir y lo utilizan como punto de partida para sus proyectos.

Paralelamente estamos desarrollando una versión industrial de nuestro producto, el uso de materiales de alta calidad y fabricación de tarjetas electrónicas personalizadas compatibles con Arduino.

 

Primo

Zoe Romano – 16 de abril 2014

Conceptos generales sobre SEO para introducir a cualquier persona en el mundo del posicionamiento en buscadores.

SEO son las siglas de Search Engine Optimization. Otras maneras de llamarlo son “posicionamiento en buscadores” o, simplemente, “posicionamiento web”. El SEO viene a ser una serie de técnicas para optimizar un sitio web, de manera que mejore su visibilidad en los motores de búsqueda.

El objetivo inicial de la actividad SEO es aparecer en un buscador cuando se busque por determinados términos. Una vez que ya se ha cumplido esa primera etapa y estamos entre los resultados de las búsquedas, se trata de conseguir que el sitio web optimizado aparezca lo más arriba posible, aumentando su visibilidad y las posibilidades de que entren en nuestra página en busca de un contenido determinado.

 

Nota: Este artículo está transcrito, de manera libre, de una clase de Introducción al SEO que está publicada en Youtube y cuyo vídeo completo lo puedes ver al final de este artículo.

 

Existen principalmente dos áreas de optimización:

SEO On Page: Desde la propia página web, perfeccionando el propio sitio que queremos posicionar, para que sea mejor considerado por parte de los buscadores. Esto se consigue facilitando que el sitio web sea “entendido” por parte del motor de búsqueda, de manera que indexe mejor el contenido y se alcancen diversos parámetros de calidad en diversas áreas, que hagan entender que se trata de un sitio de calidad: contenido, velocidad, buena estructura, etc.

SEO Off Page: Todas las técnicas y acciones que podemos hacer de manera externa al sitio y que nos ayuden a ganar relevancia en la web. Esto se hace principalmente consiguiendo enlaces hacia el sitio a promocionar y mejorando las apariciones en otros medios, pero también podría ser pagando por publicidad.

 

Problemática del aprendizaje SEO

 

En Internet podemos aprender muchísimo del posicionamiento en buscadores, pero tienes que tener cuidado, porque no siempre la información se encuentra actualizada. Los buscadores son muy dinámicos y van ajustando el modo en el que entienden el “ecosistema web”, por lo que a lo largo del tiempo las reglas siempre van cambiando. Es por ello que es importante la fecha de publicación de los textos o vídeos que estás utilizando para aprender.

Lo que funcionaba un día puede que no funcione más adelante. Desconfía de los trucos que puedas encontrar por ahí o de la magia que algunas personas puedan asegurar tener. Debes entender que Google está en constante evolución y lo que un día puede ayudar en el posicionamiento otro día puede perjudicarte, hasta el punto de recibir penalizaciones.

 

Nota: Muchas veces cuando mencionemos a Google, en realidad nos queremos referir a cualquier buscador. Esto es porque Google tiene dominado el mercado de las búsquedas en español, y no hay ningún otro buscador que le haga sombra, a nivel hispano. No obstante, cuando digamos “Google”, puedes entenderlo de manera general como “motor de búsqueda”.

 

Debemos aclarar que existen técnicas que siempre han funcionado y siempre van a funcionar y son las que vamos a intentar explicar nosotros, tanto en este artículo como en las clases gratuitas emitidas en DesarrolloWeb.com, como los cursos que organizamos en EscuelaIT, como el Curso de SEO, desde cero a profesional. Ese tipo de técnicas, sobre todo relacionadas con SEO on Page, serán siempre aquellas que ayudan a los buscadores a reconocer tu contenido y todas las que mejoren de un medio u otro la calidad de tu sitio.

 

Los buscadores y cómo entienden y registran o indexan nuestra web

 

Los buscadores, como Google, tienen robots o sistemas que se dedican a visitar páginas constantemente. Comúnmente, a esos robots les llamamos “arañas”. Cuando visitan una página lo hacen con profundidad, es decir, cuando analizan el contenido de una página y luego van accediendo a todos los enlaces que hay en una página. Si encuentran cuatro páginas enlazadas, el robot las visita también y por tanto las analizará. Si tienen enlaces, se dirigirá a las páginas enlazadas y así de modo indeterminado, hasta cualquier nivel de profundidad en el sitio.

Si publicamos nuevos contenidos en un sitio, la araña los encontrará cuando analice nuestra web, debido a ese rastreo constante. Asimismo, si tenemos páginas salientes hacia otros dominios, Google o el motor correspondiente, también accederá a ellas en su rastreo permanente de los sitios en la web. Esto quiere decir que, cuando publicamos una página en Internet y aunque Google no la conozca en un principio, podrá indexarla si alguien nos enlaza.

Puede resultar obvio que, cuanto más actualicemos nuestra web publicando nuevo contenido, le estamos invitando a Google a analizar nuestro sitio con mayor frecuencia para indexar las nuevas páginas.

Cuando Google ha rastreado una página, la añade a su base de datos de páginas de la web y ese proceso es el que llamamos indexación del contenido. Todas las páginas indexadas por el buscador son las que pueden aparecer entre los resultados de las búsquedas.

Es importante entender este proceso, porque nos dará una buena idea de cómo funciona el buscador y por tanto seremos capaces de entender el proceso de indexación y cómo podemos facilitarle a Google que encuentre nuestro sitio y guarde su contenido.

El tiempo requerido para aparecer en Google una página recién publicada en la web, de un sitio o dominio no publicado hasta el momento, es variable. Generalmente, Google lo hará cuando encuentre enlaces a nuestra web, pero puede requerir enlaces hacia nosotros de cierto valor para comenzar a mostrarla en sus resultados. No obstante, podemos ayudar a Google a encontrar nuestra página registrando el dominio en las “Webmaster Tools”, de las que hablaremos más adelante.

 

¿Qué páginas tiene Google de nuestra web?

 

Una de las primeras preguntas que nos podemos hacer cuando nos dedicamos a posicionar un sitio en Internet es ¿qué páginas tiene Google de nuestra web en su base de datos? Esta es una pregunta que seguro será clave, sobre todo en proyectos que ya existen. Se consigue con un comando bien simple:

site:desarrolloweb.com

Para lanzar ese comando simplemente tenemos que hacer la búsqueda en Google de ese término “site:desarrolloweb.com” o cualquier otro dominio, que generalmente escribiremos sin las tres W (“www”) y sin el “http://”. Con ello conseguiremos todas las URLs que Google ha rastreado, leído e indexado de nuestro dominio y tiene en su base de datos y que podrían aparecer entre los resultados de las búsquedas.

Con esto también tenemos la ocasión de entender mejor cómo ve Google nuestro sitio web y nuestro contenido, o sea, cómo entiende a nuestra página. Quizás te lleves algunas sorpresas, o no, pero seguro que te ayudará a sacar algunas conclusiones.

Si no sale ninguna página haciendo el comando “site:” es que Google no ha indexado tu sitio web. Esto puede ocurrir por mecanismos como el “robots.txt” que estés impidiendo a Google que, a pesar que rastree tu sitio, no indexe tu contenido.

 

Vídeo: Qué es SEO

 

A continuación puedes encontrar el vídeo de una sesión formativa que emitimos en directo en DesarrolloWeb.com que nos explica qué es SEO y algunos conceptos interesantes y básicos que debemos saber para poder comenzar a posicionar mejor un sitio web en buscadores.

En ese vídeo se tratan los asuntos relativos al concepto de SEO explicados en este texto, así como muchas otras informaciones útiles y básicas para comenzar en el mundo del posicionamiento web.

Herencia en Programación Orientada a Objetos

Este artículo viene a completar el texto Qué es Programación Orientada a Objetos publicado en DesarrolloWeb.com ya hace más de doce años. Aunque ya tiene su tiempo, según lo releo puedo decir que sigue perfecto, aunque le faltan algunas partes fundamentales que hacen de la programación orientada a objetos (POO) un paradigma extremadamente útil y potente.

Si ya entendiste lo que son clases y objetos, atributos y estados, métodos y mensajes, ahora puedes ampliar la información en el presente texto para conocer acerca de la herencia. Pero antes de ello, centrémonos en entender algunas de las prácticas más útiles y deseables de la programación en general.

Jerarquización

Es un proceso por el cual se crean organizaciones de elementos en distintos niveles. No es un concepto específicamente de POO, sino que es algo que vemos en la vida real en muchos ámbitos, algo inherente a cualquier tipo de sistema. Puedo tener diversos tipos de jerarquías, como clasificación o composición.

Composición:

Es cuando unos elementos podemos decir que están compuestos de otros, o que unos elementos están presentes en otros. Por ejemplo, el sistema respiratorio y los pulmones, la nariz, etc. Podemos decir que los pulmones están dentro del sistema respiratorio, así como dentro de los pulmones encontramos bronquios y alvéolos. En esta jerarquía de elementos tenemos composición porque donde unos forman parte de otros. En una factura también podemos decir que puede haber una jerarquía de composición. La factura tiene un cliente, varios conceptos facturables, un impuesto, etc.

Clasificación:

Este tipo de jerarquización indica que unos elementos son una especialización de otros. Por ejemplo, los animales, donde tenemos vertebrados e invertebrados. Luego, dentro de los vertebrados encontramos aves, reptiles, mamíferos, etc. En los mamíferos encontramos perros, vacas, conejos… Éste es el tipo de jerarquización en que quiero que te fijes.

Los lenguajes de programación orientados a objetos son capaces de crear jerarquizaciones basadas en composición con lo que ya sabemos de clases y objetos. Eso es porque podemos tener como propiedades de objetos, otros objetos. Por ejemplo, en el caso de la factura, podríamos tener como propiedades el cliente, el impuesto, la lista de conceptos facturables, etc. Sin embargo, para hacer jerarquías de clasificación nos hace falta conocer la herencia.

Reutilización del código

Por otra parte, otro de los mecanismos que cualquier lenguaje de programación debe proveer es la posibilidad de reutilizar el código. En la programación estructurada tenemos las funciones, así que ya hemos podido reutilizar código de alguna manera. Así pues, el equivalente a las funciones, los métodos, ya nos da un grado de reutilización, pero no llegan al nivel de potencia de las que encontraremos en la herencia.

No necesitamos decirte mucho más para entender las bondades de la reutilización: en inglés lo resume el término “DRY”, Don’t Repeat Yourself (no te repitas) y es uno de los enunciados que debes tener más presente cuando programas. “No es mejor programador quien más líneas de código hace, sino quien mejor las reutiliza”.

Quizás está de más decirlo, porque seguro que ya sabes que debemos evitar escribir dos veces el mismo código, evitar los copia/pega y pensar que la reutilización nos ayuda seriamente en el mantenimiento del software. Enseguida verás cómo la herencia es un mecanismo fundamental para reutilizar código.

Herencia el la POO

Ahora que ya conoces dos beneficios que nos proporciona la herencia y por qué es algo tan deseable en la programación, creo que te sentirás motivado para profundizar en las bases de este mecanismo, herencia, clave de la Orientación a Objetos.

La herencia es la transmisión del código entre unas clases y otras. Para soportar un mecanismo de herencia tenemos dos clases: la clase padre y la/s clase/s hija/s. La clase padre es la que transmite su código a las clases hijas. En muchos lenguajes de programación se declara la herencia con la palabra “extends”.

class Hija extends Padre{ }

Eso quiere decir que todo el código de la clase padre se transmite, tal cual, a la clase hija. Si lo quieres ver así, es como si tuvieras escrito, línea a línea, todo el código de la class “Padre” dentrode las llaves de la class “Hija”. Por eso, la herencia es fundamental para reutilizar código, porque no necesitas volver a incorporar el código de Padre en Hija, sino que realmente al hacer el “extends” es como si ya estuviera ahí.

Ejemplo de herencia

Volvamos a los animales, pensemos en los mamíferos. Todos tienen una serie de características, como meses de gestación en la barriga de la madre, pechos en las hembras para amamantar y luego funcionalidades como dar a luz, mamar, etc. Eso quiere decir que cuando realices la clase perro vas a tener que implementar esos atributos y métodos, igual que la clase vaca, cerdo, humano, etc.

¿Te parecería bien reescribir todo ese código común en todos los tipos de mamíferos, o prefieres heredarlo? en este esquema tendríamos una clase mamífero que nos define atributos como numero_mamas, meses_gestacion y métodos como dar_a_luz(), mamar(). Luego tendrías la clase perro que extiende (hereda) el código del mamífero, así como las vacas, que también heredan de mamífero y cualquiera de los otros animales de esta clasificación.

Otro ejemplo, tenemos alumnos universitarios. Algunos son alumnos normales, otros Erasmus y otros becarios. Probablemente tendremos una clase Alumno con una serie de métodos como asistir_a_clase(), hacer_examen() etc., que son comunes a todos los alumnos, pero hay operaciones que son diferentes en cada tipo de alumno como pagar_mensualidad() (los becarios no pagan) o matricularse() (los Erasmus que son estudiantes de intercambio, se matriculan en su universidad de origen).

Lo que debes observar es que con la herencia siempre consigues clases hijas que son una especialización de la clase padre. Para saber si está correcto emplear herencia entre unas clases y otras, plantéate la pregunta ¿CLASE HIJA es un CLASE PADRE? (por ejemplo, ¿un perro es un mamífero? ¿Un becario es un alumno de universidad?)

Nota: Existen otros modos de decir clases hija, como clase heredada, clase derivada, etc.

Otras cosas que tienes que saber sobre herencia

En este artículo nos hemos limitado a hablar sobre el concepto de herencia, pero no sobre una serie de mecanismos asociados que resultan clave para entender todavía mejor las posibilidades de esta capacidad de la POO. Nos referimos a la visibilidad de propiedades y métodos entre clases padre e hija, la posibilidad de hacer clases abstractas, que son las que contienen métodos abstractos o incluso propiedades abstractas. Hemos dejado de lado asuntos como la herencia múltiple, que te proporciona la posibilidad de heredar de varias clases a la vez (los ejemplos mencionados son de herencia simple).

Todo eso es algo que tendrás que aprender en otros textos, futuros artículos o en la referencia de tu propio lenguaje de programación. Nosotros esperamos que el presente texto te haya aclarado el concepto de una forma amena, que es lo más fundamental para que a partir de aquí tengas la base suficiente para profundizar en las características de tu propio lenguaje de programación con orientación a objetos.