Espacio para tratar temas de programacion para dispositivos moviles, Pocket PC, Compact Framework, Embbeded Visual Basic, Visual Basic.NET , C# (C Sharp)
domingo, septiembre 02, 2018
Programacion Orientada por Objetos
Se conoce como programación orientada a objetos o POO, en ingles OOP (Object Oriented Programming)
Este tipo de programación propone que todo lo veamos en funciona a objetos, como se hace en la vida diaria cotidiana de las personas.
Una de las cosas que debemos entender es porque hemos llegado a este tipo de programación o desarrollos de software de esta manera.
Un poco de Historia de la programación
En el Inicio de los computadores, cuando los equipos utilizaban tubos al vacío de rayos catódicos, el consumo de energía era muy elevado, además de que había que utilizar sistemas de enfriamiento pues se generaba mucho calor.
En ese momento la programación que se podía realizar en las maquinas, era una programación por secuencia o secuencial de instrucciones, en la cual se ejecutaba instrucción por instrucción para arrojar al final un resultado.
El desarrollo del hardware siguió avanzando y aparecieron los transistores, esto trajo una enorme reducción del tamaño, del costo y del consumo de energía de los equipos, pero además una mayor velocidad, mejoramiento en el almacenamiento de información y en la memoria de los computadores, en este momento la programación avanzó, y se desarrollo lo que se conoce hoy día como programación procedimental, aqui se organizaron las ideas para realizar programas pequeños que realizaron una única tarea de la mejor manera.
A estos pequeños programas se les llamo Procedimientos, pero cuando devolvían un valor se les llamo Funciones.
El hardware siguió avanzando, y se lograron los chips, y la reducción de un mayor numero de transistores en un menor área lo que condujo a que se desarrollaran CPU o procesadores mucho mas rápidos y con mayor capacidad, asi como disco duros de mayor capacidad de almacenamiento a costos muy ínfimos.
En esta época apareció la programación orientada a objetos, pues ya el hardware es capaz de soportar un mayor numero de operaciones y una mayor capacidad de almacenamiento de datos.
Actualmente se esta hablando de computación cuántica, esto traerá tambien revolución y cambio en la programación de diferentes aplicaciones utilizando esta nueva metodología.
Clase
Una clase es el elemento mas importante en la POO, ya que una clase es la estructura, o el esqueleto de los objetos.
Si no tenemos una clase no puede haber un objeto. Para que un objeto exista, debe instanciarse una clase, esto significa se debe crear una variable en memoria, del tipo de la clase que queremos convertir en un objeto.
Un ejemplo de esto, en el lenguaje C#, que es el lenguaje de programación sobre el cual vamos a realizar este curso, es el siguiente:
Persona cliente = new Persona();
En este ejemplo, tenemos una clase llamada Persona, creamos un objeto que llamamos cliente, y le asignamos un nuevo valor utilizando la instrucción new, y por ultimo le asignamos una instancia de la clase Persona, a esto se le llama instanciación o inicialización de un objeto.
Objeto
Es una variable del tipo de la clase especifica, este objeto es creado a través o con la ayuda del comando new, en el lenguaje de programación C#.
Estructura de una Clase
Una clase puede contener o estar compuesta por diferentes partes.
1. Propiedades
2. Eventos
3. Métodos
Propiedades: las propiedades o atributos de una clase, es donde se puede almacenar datos referentes a la clase, estas propiedades tiene asociado un tipo de datos, los tipos de datos pueden ser, enteros o int, texto o string, fecha o datetime, numérico con decimales o double, existen otro diferentes tipos d datos que tambien podemos utilizar y que utilizaremos de acuerdo a la estructura de nuestra clase.
Eventos: los eventos son la forma de comunicar que tiene la clase o el objeto (cuando se ha instanciado una clase), de comunicar al exterior el resultado de una operación.
Métodos: los métodos son las acciones que realiza ese objeto con los datos, para dar un resultado.
Entendiendo que la clase es la estructura de un objeto, y que un objeto es cuando se define una variable del tipo de una clase ya creada.
Herencia
La herencia es uno de los conceptos mas importante de la POO, ya que permite reutilización de código, esto es, que escribimos una vez el código de una clase y por medio de la herencia podemos tener acceso a ese código, sean propiedades, sean eventos, o sean métodos, heredando de esa clase, sin tener que volver a escribir ese código nuevamente.
Hay dos tipos de herencia, herencia simple y herencia múltiple.
Herencia Múltiple: consiste en que una clase nueva puede heredar de varias clases, esto es posible en el lenguaje de programación Java. En el lenguaje C#, no es posible este tipo de herencia.
Herencia Simple: en este tipo de herencia, solo se puede heredar de una sola clase y única clase. Este tipo de herencia es la que utiliza C#, el lenguaje de programación que vamos a utilizar.
sábado, septiembre 01, 2018
Diagrama de flujo para Calcular si un numero es primo
En el ejemplo anterior del diagrama de flujo, del numero primo, están colocados los valores que van tomando las variables en sus diferentes tiempos y puntos, asi verificamos que esta correcto el diagrama, que los pasos que estamos realizando son los correctos.
Entonces por cada diagrama de flujo, se debe realizar una prueba de escritorio, reemplazando los valores de las variables por valores numéricos y verificar que el resultado es correcto, además, verificar todas las bifurcaciones que se den en el diagrama por las condiciones que nos exija el algoritmo que estemos realizando.
1. Se ingresan los datos de usuario y clave en la pantalla.
2. Se verifica si el usuario existe, para esto, se consulta en la base de datos del sitio,
3. Si No existe, mostramos pantalla para registro de usuario.
4. Si desea registrarse, pide los datos del registro, usuario, clave y email.
5. Guarda los datos en la base de datos.
6. Va a la pantalla de Login para autenticarse.
7. Si no desea registrarse, se envía a la pantalla de Login.
8. Si el usuario Existe, vamos a la base de datos de la aplicacion y traemos la información del usuario.
9. Verificamos si el password esta correcto,
10. Si No es correcto, mostramos mensaje de "usuario no es valido"
11. regresamos a la pantalla de login a pedir usuario y clave.
12. Si es Correcto, mostramos un mensaje "usuario autenticado"
13. Fin.
Los pasos en palabras, esto tambien es conocido como pseudo código. (No se asusten!) simplemente es que con palabras hagamos lo mismo que con el diagrama de flujo.
Ahora iniciemos los pasos para resolver el reto:
Conceptos:
Contador: es una variable ( o sea un espacio de memoria en el computador que almacena un dato), que se incrementa su valor en un valor constante, generalmente de 1 en 1, en el ejemplo del diagrama anterior es la variable i.
Acumulador: es una variable que almacena diferentes valores, funciona de manera muy similar al contador, sin embargo, los valores que se suman no son constantes, son variables.
Promedio: es una operación de estadística en donde se suman o acumulan un numero determinado de valores, luego este resultado se divide entre el numero de valores acumulados.
Qué es un diagrama de flujo
Un diagrama de flujo es una serie de pasos que resuelven un problema de programación o de cualquier índole. Estos diagramas ayudan a los que están iniciando en el mundo de la programación para computadores, informática, o carreras afines, la intención de esta clase es despertar en ustedes la lógica con la cual será mas sencillo poder resolver los diferentes retos de programación a los que te vas a enfrentar.
Los símbolos del diagrama de Flujo
Como generar un diagrama de flujo
Conceptos
Consultas
A continuación les dejo unos links para que sigan consultando acerca del tema.
https://www.lucidchart.com/pages/es/qué-es-un-diagrama-de-flujo
|
martes, mayo 29, 2018
Creando Archivos MarkDown desde Vs2017
Creando Archivos MarkDown desde VS2017
Después de mucho tiempo sin escribir en el blog, nuevamente inicio a escribir sobre lo que hago.Últimamente una de las tendencias es compartir código en repositorios de datos como Git, GitHub, etc. Estos repositorios permiten que coloquemos archivos descriptivos en los cuales se describe el taller o las aclaraciones necesarias del código.
Estos archivos tienen extensión .md conocidos como MarkDown Files.
Hoy quiero explicar como crear este tipo de archivos pero... desde el propio Visual Studio a través de un plugin que acabo de probar y es muy bueno.
La ventaja de esto es que no necesitamos cargar una nueva aplicación para crear el archivo, si no que desde el mismo Visual Studio lo hacemos.
Lo primero es ir al Marketplace de Visual Studio y ubicar el plugin.
La url del plugin es el siguiente.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor#overview
Esto nos llevara a la pantalla:
miércoles, agosto 12, 2015
Instalar Cliente VPN Cisco en Windows 10
En estos días que instale la nueva versión de Windows 10 en mi trabajo necesito utilizar el cliente VPN de Cisco, a pesar de instalar la ultima versión no me lo permitía me decía que el programa no era compatible.
Sacaba un error en el modulo de Network connection, y de este punto desinstalaba todo el cliente.
La solución a esto fue:
1. Desinstalar el cliente o lo que hubiera de este componente
2. reiniciar el PC
3. Descargar e instalar SonicWall VPN de al siguiente pagina: http://help.mysonicwall.com/applications/vpnclient/
4. Reinicar el PC
5. Instalar el cliente VPN de Cisco, y ahora si instala.
Espero les sirva esto.
Saludos y muchas bendiciones!!!!
Hasta la próxima.
lunes, septiembre 08, 2014
[Conference] Desarrollo de Apps Android con C# y #Xamarin
Hola a todos!
Como un abre bocas al ExpertDat del proximo 27 de Septiembre en Bogota:
EL proximo 11 de Septiembre estare hablando de como crear Apps para Android, usando C# y Xamarin para esto.
Aqui el link de registro: http://www.meetup.com/BDotNet/events/205968072/
Los espero! Es Gratis!
jueves, agosto 28, 2014
[EVENTO] ExpertDay: Desarrollo Movil Multiplataforma
Hola a todos
Hoy quiero invitarlos al Expert day del proximo 27 de septiembre en la ciudad de Bogota!
Estaremos hablar de como desarrollar aplicaciones para moviles que sea multiplataforma, o sea que tengamos 1 desarrollo que nos sirva en un 70% / 80% para otra plataforma diferente.
Hablaremos de HTML5, de WinJS, de XAML., de C# con MONO y de C# con Xamarin.
Los espero a todos!
Aqui el link de registro y de las conferencias que ofreceremos: http://bit.ly/1nIt4W0
miércoles, julio 30, 2014
{EVENTO} Colombia 3.0 Barcamp:
Hola a tod@s!
Solo para comentarles que voy a estar dictando dos charlas en el Barcamp de Colombia 3.0 el dia de hoy 30 y mañana 31 de Julio de 2014.
Mis charlas:
Desarrollo de Apps nativas con C# y Xamarin (Julio 30)
Como desarrollar Aplicaciones Moviles?
Luego les coloco fotos por aqui.
Aqui el link de la agenda: http://bogodev.org/sil-story/col30-barcamp-bogota/
lunes, julio 21, 2014
[Ciclo de Conocimiento] Desarrollo de Apps nativas Android con Xamarin y C#
Hola a todos
Aqui les dejo el link de Slide Share en donde pueden descaragr y ver las diapositivas del desarrollo con Xamarin:
Aca los slides de nuestra presentacion anterior para que tambien puedan verla y descargarla.
Ahora algunas fotos de los asistentes el pasado 16 de julio en las instalaciones de ViveLab Bogota.
sábado, julio 05, 2014
[Ciclo de Conocimiento] Como Desarrollar Aplicaciones Moviles II HTML5
Hola a todos!
Aqui algunas fotos de la conferencia del jueves 3 de julio de 2014 en la cual continuamos con nuestro ciclo de conocimiento sobre como desarrollar aplicaciones moviles.
Hablamos de como desarrollar aplicaciones web para moviles usando ASP.NET WebForms y ASP.NET MVC 5, y como usar las plantillas de framework javascript para que nuestras aplicaciones sean responsivas al tamaño de la pantalla del dispositivo y que se vea bien!
Hablamos de como desarrollar Apps con HTML5, CSS3 y JavaScript ayudandonos de algunas herramientas que habiamos mencionado en nuestra primera sesion de este ciclo.
Hablamos de AppBuilder de Telerik, de DevExtreme de DevExpress.
Aqui los comentarios de la conferencia: http://www.meetup.com/BDotNet/events/191020682/
Los espero el proximo 16 de julio de 2014 para hablarles de como desarrollar aplicaciones moviles multiplataforma (Cross Platform) utilizando principalmente Xamarin, aunque tambien hare mencion de otras herramientas que nos sirven para esto.
Aqui el link de inscripciones: http://www.meetup.com/BDotNet/events/191021862/
No se lo pierdan!
lunes, junio 23, 2014
[Curso Xamarin] Finalizado Curso Desarrollo para Android con Xamarin y C#
Hola a todos
Aqui algunas imagenes de las clases de los dos cursos de Desarrollo para Android con Xamarin y C# que estuve dictando en Bogota.
A programar en Android con C# y Xamarin!
viernes, junio 20, 2014
[Ciclo de Conocimiento] Como desarrollar Aplicaciones Moviles?
Hola a todos!
Hoy quiero compartir con ustedes las memorias de mi charla sobre Como desarrollar Aplicaciones Moviles?
En esta charla explico que debemos tener presente para iniciarnos y para estar seguros en el desarrollo de aplicaciones moviles, comparo las tres plataformas mas relevantes del mercado en este momento como son Android, iOS y Windows Phone, analizo que tipo de desarrollo debemos utilizar: web, hibrido o nativo.
Ademas hago un recorrido por las herramientas mas relevantes de cada tipo y algunos pros y contras de las herramientas mencionadas.
Aqui les dejo el link en donde podran ver y descargar las laminas:
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Algunas fotografias del evento:
No se pierdan la proxima charla de esta serie en donde iniciaremos a exponer por medio de herramientas como crear o iniciar nuestro desarrollo de un App.
jueves, junio 12, 2014
TechDay Bogota 2014
Hola aqui les dejo algunas fotos de recuerdo de este dia en donde hable de lo nuevo de Windows phone 8.1
viernes, mayo 30, 2014
Novedades de Xamarin 3.0
Hola a tod@s
Hoy quiero compartir con ustedes la actualizacion de Xamarin a su version 3.0
Las mejoras:
- Xamarin 3.0 no es compatible con Visual Studio 2013 Update 2 RC. Debe actualizar a la version definitiva del Update 2.
- La plantilla de Xamarin.Forms Shared requiere Visual Studio 2013 Update 2.
- La plantilla Xamarin.Forms PCL en Visual Studio 2010 requiere la instalacion de Portable Library Tools de Microsoft
- Cualquiera de las plantillas de Xamarin.Form, requiere el SDk apropiado para Windows Phone.
Principales Cambios
- Plantillas de Xamarin.Forms para proyectos PCL (Portable Cass Library)
- Adicion de plantillas WebView para Android e iOS.
- Preprocesador de Razor
- Se unieron los addins para Android e iOS. Con esto se solucionan muchas incompatibilidades anteriores que sufrieron los consumidores. Co esto se soluciona de tener que instalar versiones especificas en VS para Android o para iOS.
- Permite configurar el path del SDK de Apple con la pagina de configuracion de iOS.
- Adiciona soporte para los nuevos perfiles de PCL lanzados con el Update 2 de Visdual Studio 2013.
Diseñador de Interface Grafica para iOS desde Visual Studio
Una imagen vale mas que mil palabras:
Esto es que se ha integrado un diseñador grafico para iOS en Visual Studio y lo mejor mantiene total compatibilidad con la caracteristica de Storyboard de iOS.
Disfrurenlo!!!
{EVENTO} Windows Phone 8.1 ExpertDay
Hola a tod@s!
Hoy quiero invitarlos al ExpertDay sobre Windows Phone 8.1 que estoy organizando junto a todo el equipo de la Comunidad BDotNet en Bogota.
El link de inscripciones es : http://1drv.ms/1nMfJx1
Si quieren llevar su portatil o tablet, no olviden rellenar la ultima casilla del Formulario de registro con el serial de su dispositivo.
Para mayors detalles, y la agenda, la pueden consultar aqui: http://bit.ly/1kc0lpu
LOS ESPERO!!!! No se lo pierdan!
viernes, mayo 23, 2014
[CPCO7] Campus Party Colombia 2014
Como comunidad asociada a Campus Party 2014, la Comunidad de desarrolladores Profesionales BDotNet, les ofrece la oprtunidad de ganar entradas a campus Party en Cali.
Solo deben rellenar el siguiente formulario y contestar las dos preguntas del formulario para participar en la rifa.
Aqui les dejo el link:











