Panorama General del Desarrollo de Aplicaciones Móviles.

Actualmente los grandes avances en la tecnología han permitido que la sociedad tenga acceso a dispositivos inteligentes capaces de simplificar la vida de cada una las personas, algo que hace años se veía como un escenario futurista es hoy en día toda una realidad.

Si miramos a nuestro alrededor podemos darnos cuenta de todas aquellas ventajas que nos ofrecen los dispositivos inteligentes, desde el punto de ayudarnos a organizar nuestros contactos, citas y comunicarnos con familiares y amigos; hasta el grado de poder acceder a la nube para informarnos de las ultimas noticias, realizar compras en línea, pagos de servicios y transferencias bancarias desde un mismo punto.

Quien iba a imaginarse que aquellos dispositivos móviles lanzados hace años por las compañías de telefonía se convertirían en toda una moda y una necesidad para cada uno de nosotros. Tanta es nuestra dependencia hacia nuestros dispositivos móviles que imaginarnos un mundo sin ellos sería un escenario del apocalipsis.

Es importante mencionar que los primeros dispositivos móviles que salieron al mercado tenían grandes limitaciones en su arquitectura (hardware y software), pero a pesar de ello, estos ya contenían una serie de aplicaciones precargadas que permitían al usuario operar dicho dispositivo. Dentro de ese pequeño grupo de aplicaciones que venían precargadas, podíamos encontrar aquellas que se encargaban de gestionar sus contactos, llamadas, mensajes, citas y recursos del dispositivo.

El desarrollo de aplicaciones para dispositivos móviles no es algo nuevo, solo que en los inicios de los primeros dispositivos, las empresas creadoras y distribuidoras se reservaban el derecho de creación y distribución de aplicaciones para sus dispositivos, lo que implicaba un entorno totalmente cerrado para el desarrollo de aplicaciones. Ya después con el pasar de los años los proveedores de dichos dispositivos se dieron cuenta que si exponían sus herramientas de desarrollo para su plataforma y las ponían a disposición de cualquier persona interesada, se abría una gran gama de posibilidades de que surgieran nuevas aplicaciones para sus dispositivos, puerta que abrió una serie de oportunidades para desarrolladores independientes y empresas que empezaron a incursionar en el desarrollo de aplicaciones móviles. A partir de ese momento las empresas proveedoras de los dispositivos y dueñas de las distintas plataformas crearon una nueva forma de percibir ingresos, ya que aparte de poner a la disposición las herramientas para desarrollo de aplicaciones, también lanzaron al público en general un market de aplicaciones en la nube; sitio que era un repositorio de aplicaciones donde cualquier desarrollador o empresa podría adquirir una licencia para poder publicar, distribuir y monetizar sus aplicaciones. La estrategia tomada como un medio de apertura de sus plataformas resulto ser un éxito en donde tanto los dueños de las plataformas, distribuidores de dispositivos y desarrolladores eran beneficiados; y dicha estrategia hasta el día de hoy sigue siendo un éxito.

Hoy en día el desarrollo de aplicaciones móviles representa una gran área de oportunidad que puede ser aprovechada tanto por desarrolladores independientes como por empresas privadas.

Es valioso mencionar que ahora ya se cuenta con dispositivos inteligentes con mayor capacidad de procesamiento, memoria, almacenamiento, sensores y distintas versiones de SO, elementos que nos permiten a nosotros como desarrolladores poder crear aplicaciones que sean capaces de aprovechar al máximo todos esos recursos con los que cuentan los dispositivos.

Antes de finalizar con este artículo, me gustaría comentarles que la construcción de aplicaciones surge por alguna de las siguientes razones: por creatividad, por innovación, por crear una necesidad o por satisfacer una necesidad existente ;)

 

Validar Extensiones en AsyncFileUpload.

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
   //Función para mitigar que el usuario adjunte archivos que no son de extensión valida.
   function UploadStart(remitente, args) 
   {

         //Se encapsula en la variable [_fileName] el nombre del archivo adjunto.
         var _fileName = args.get_fileName();

         //Se encapsula en la variable [_fileExtension] la extensión del archivo adjunto.
         var _fileExtension = _fileName.substring(_fileName.lastIndexOf(".") + 1);

         //Se encapsula en el arreglo [_extensions] todas las extensiones de archivo que seran validas.
         var _extensions = ["pdf", "jpg", "tiff", "doc", "docx"];

         //Se inicializar una variable de control.
         var _flag = false;

         /*
         Se recorre el arreglo[_extensions] para comprobar si la extensión del archivo adjunto es 
         valida; si es valida se asigna el valor true a la variable [_flag], en caso contrario se 
         asigna el valor false. 
         */ 
         for (var i = 0; i < _extensions.length; i++) 
         {
            if (_extensions[i] == _fileExtension) 
            {
               _flag = true;
               break;
            }
         }

         /*
         Se valida si la variable [_flag] tiene el valor de true; si es asi entonces se continua
         con el proceso de carga, en caso contrario se emite un Alert() para indicarle al usuario
         que la extensión del archivo adjunto es invalida, terminando con la limpieza del                                   asynFileUpload para adjuntar un nuevo archivo.
         */

         if (_flag) 
            return true; 
         else 
         {            

            //Se crea la variable [_error] para encapsular una excepción.
            var _error = new Error();

         //Se define el mensaje para la excepción encapsulada en la variable [_error].
         _error.message = '\n\n[Archivo con extensión invalida]\n\nLas extensiones de archivo           permitidas son las siguientes: *.doc, *.docx, *.jpg, *.pdf y *.tiff.';

         /*
         Se obtienen todos los controles inputs que conforman al control [afuDocumentos] y se                    encapsulan en la variable [_controls].

         */

         var _controls = $('#afuDocumentos').find('input');

         //Se recorre el arreglo [_controls] para limpiar el contenido.
         for (var i = 0; i < _controls.length; i++) 
         {
            if (_controls[i].type == "file") 
            {
                _controls[i].value = "";
               _controls[i].style.backgroundColor = "white";
            }
         }

         //Se lanza la excepción en pantalla.
         throw (_error);

         //Se anula el proceso de carga del archivo.
         return false;
     }
}
</script>
<asp:asyncfileupload id="afuDocumentos" runat="server" clientidmode="static" 
onclientuploadstarted="UploadStart"/>



 

Validaciones de Campos con JQuery.

El presente proyecto contiene un conjunto de funciones JQuery para validar la información ingresada en campos de entrada de texto.

Las validaciones incluidas en el proyecto se describen a continuación:

a) DisableCopyPasteCut

Función que bloquea los comandos Ctrl+C y Ctrl+V sobre los campos de entrada.

b) Number

Función que solo permite la captura de números.

c) NumberWithSign

Función que solo permite la captura de números con signo.

d) DecimalNumber

Función que solo permite capturar números decimales.

e) DecimalNumberWithSign

Función que solo permite capturar números decimales con signo.

f) Name

Función que solo permite capturar caracteres y espacios en blanco.

g) Alphanumeric

Función que solo permite capturar caracteres, números y espacios en blanco.

Cada una de las funciones están dadas como selectores de clases, donde dichos selectores se asocian de forma automática al evento keypress del campo de entrada al que se le asigne la clase. 

En el siguiente enlace podrás descargar el código fuente:

Validaciones.rar (689,62 kb)

Bienvenid@.

Buen día amig@, gracias por visitar mi blog.

Este espacio está dedicado a brindarte contenido de interés relacionado con el desarrollo de software, con el fin de proporcionarte una visión general sobre las herramientas que existen en el mercado para desarrollar diferentes tipos de aplicaciones, promoviendo así el manejo correcto de cada una de ellas para alcanzar tus objetivos, aplicando técnicas apegadas a las buenas prácticas de desarrollo las cuales te permitan crear aplicaciones de calidad que cumplan con las especificaciones definidas por los clientes.

Cabe mencionar que dicho espacio contara con recursos ajenos al mismo para apoyar en el aprendizaje y poder hacer las publicaciones más interactivas e interesantes.

Quedo a tus órdenes para que te pongas en contacto conmigo para resolver cualquier duda o comentario que llegara a surgir sobre el contenido de las publicaciones.