Mencionare los puntos que abordan para ser un programador con el titulo de Full Stack.
1 – Tecnologias FRONT-END:
Los desarrolladores bajo este perfil como front-end deberán ser masters de las tecnologías esenciales del Front-End tales como HTML5, CSS3, Javascript. Conocimientos de librerías de terceros como jQuery, LESS, Angular y React JS es desable.
2 – Lenguajes de Programación:
Ingenieros Full stack deberán conocer al menos un lenguaje de programación de lado servidor como Java, Python, Ruby, .NET entre otros.
Conocimientos de numerosas tecnologías DBMS es otra necesidad importante de un desarrollador Full-Stack. MYSQL, MongoDB, Oracle, SQL Server son abiertamente usados para esos propósitos. Conocimientos de mecanismo de caché como varnish, Memcached, Redis es un extra.
4 – Habilidades básicas de diseño:
En orden para convertirse en desarrollador full stack, el conocimiento del diseños es también recomendado, para eso la persona deberá conocer los principios básicos de prototipos para interfaces de usuarios (UI/UX).
5 – Servidores:
La exposición al manejo de servidores Apache ( no me refiero al helicóptero) o nginx es deseable. Una buena experiencia en Linux ayuda enormemente en la administración de servidores.
Un sistema de control de versiones permite a los desarrolladores Full Stack para mantener el trazo de TODOS los cambios hechos en el código fuente, El conocimiento de Git ayuda a entender para cada desarrollador como obtener siempre el código del programa actualizado, el más reciente actualizar partes de esos códigos, crear cambios en otro código de otro programador sin alterar lo que la otra persona este haciendo.
7 – Trabajar con APIs ( SOAP, REST )
Conocimientos de servidores web o API es también otra cosa importante para el Full Stack, desarrolladores conocen la creación y como consumir dichos API es muy deseable REST y SOAP.
El ultimo punto y más importante cuanto es el salario de un Desarrollador FULL STACK
Desarrollador FULL STACK
En Estados Unidos como promedio son de 112,000 dolares por año. unos 9,000 dolares cada mes. Esta tuani saber ese monto, no te rindas y da un inicio en esta era cibernetica.
Mito: Desarrolladores Full Stack es escribir todos los tipos de codigos existente ( programan de todo )
Realidad: El o Ella puede conocer las diferentes tecnologías en el área de desarrollo de software, sin embargo no escriben dicho código ( no programan )
WebSphere Application Serverconocido popularmente como WAS es un servidor de aplicaciones de la familia de WebSphere de IBM. WAS fue creado usando estandares abiertos como Java Platform, Enterprise Edition J2EE, XML y Web Services.
IBM gestiono la participación de varios de sus laboratorios más importante en en mundo para la creación del Run-Time de WebSphere, con todo este esfuerzo realizado y con la idea de hacer un producto que marcara una diferencia con respecto a los Servidores de Aplicaciones que estaban en ese momento, nace WAS, el cual corre en multiples pataformas de sistemas operativos AIX/Linux/Microsoft Windows/Solaris.
IBM Installation Manager es una tecnología de instalación de software de IBM que se utiliza para instalar, actualizar y configurar muchos paquetes de software de IBM.
Use este programa para instalar, actualizar, modificar, revertir y desinstalar paquetes de software certificados por IBM en su computadora. El programa localiza y muestra los paquetes disponibles, verifica los requisitos previos y las interdependencias, e instala o modifica los paquetes seleccionados.
IBM WebSphere Application Server Network Deployment Version 9.0 traditional:
IBM WAS se basa en estándares abiertos y lo ayuda a implementar y administrar aplicaciones que van desde sitios web simples hasta potentes soluciones a pedido.
Procedimiento para Instalación de WAS ND 9.0:
Instalar IBM Installation Manager si no lo tienes aún.
Abrir IBM Installation Manager .
Ir al menu File/Preferences
Agregamos los repositorios correspondientes a WAS ND 9.0 y a IBM Java JDK 8.0 y Damos en Test de Connections y luego OK.
Luego en la pantalla principal de IBM Installation Manager, seleccionamos la opción Install
Seleccionar IBM WebSphere Application Server Nerwork Deployment/Version 9.0.x.x y IBM SDK Java Technology Edition Version 8
Esperar a que termine de preparar el Deployment, y seleccionamos IBM WebSphere Application Server Network Deployment.
Aceptar los terminos de licencia y seleccionar el tipo instalación que vas a realizar en base a la arquitectura de tu Ordenador, sea 32 Bit o 64 Bit.
Seleccionamos idioma por defecto u otro idioma si asi lo preferimos.
Después de confirmar el paquete que vamos a instalar nos puesta la pantalla final de instalación
Damos click en el botón de Install y esperamos a que termine de descargar e instalar todos los componentes, esto suele demorar en base a la velocidad de internet que tengas.
Procedimiento para actualizar instalación de componentes WAS ND 9.0
Abrir IBM Installation Manager
Luego en la pantalla principal seleccionamos la opción Update.
Nos muestra todos los paquetes que tenemos instalados y que tenemos fixes o actualizaciones pendiente de aplicar
Checkamos la opción Update all packages, y damos click sobre botón Next o Siguiente, esperamos a termine de verificar y preparar todas las actualizaciones.
Aceptamos las condiciones de licencia y das en Next o siguiente
Finalmente en la pantalla de Packeges que vas a actualizar das click en siguiente y espera a que termine el proceso de verificación y traida de archivos.
Finalmente nos aparece la pantalla de confirmar actualización, en este paso damos click sobre el botón Update.
Esperamos que termine de actulizar los paquetes y listo ya tenemos el WebSphere Application Server 9.0 ND Instalado y Actualizado.
Cabe mencionar que para este ejemplo se uso el producto licenciado de IBM WAS ND 9.0 la version Trial que nos ofrece esta plataforma, existe una version que es libre de uso sin licencia llamada WebSphere Aplication Server Liberty la cual recomiendo su uso.
Como podemos ver este es un proceso de instalación y actualización un poco mas largo de lo normal, pero efectivo, espero le haya gustado el articulo espero muy pronto traer el video de este Post y más artículos de WAS. Asi que no olvides suscribirte en nuestro canal de youtube, donde encontraras videos de Tecnología, programación y mucho más. Por el momento Hasta la Proxima.
Full stack o Front end, Java o C++, El salario no es mas que un componente del paquete que nosotros los desarrolladores buscamos trabajos flexibles en nuestros roles, trabajo desde casa, flexibilidad de tiempo en términos de horas.
Generalmente las campañas de Facebook y Google resultan ser las más conocidas. Sin embargo Amazon Advertising podría brindarte resultados extraordinarios de segmentación.
Para comprender un poco de lo que trata el SEO On Page, es necesario que comprenda el concepto de Search Engine Optimization (SEO) y su importancia, asi que si no has leido nuestro articulos sobre este concepto te invito a que lo leas aqui.
El concepto básico de una tabla cruzada es que los valores de fila se transforman en valores de columna. A menudo he deseado que DB2 tuviera un procedimiento o función que nos regrese una tabla pivote. Pero hasta que llegue ese día, tendré que arreglármelas con una solución alternativa que también podría serle útil.
La solución alternativa tiene la forma de un procedimiento almacenado que puede usarse para pivotar cualquier columna en cualquier tabla. Antes de llegar al procedimiento almacenado, veamos un ejemplo pivote simple.
Estos ejemplos están utilizando la tabla SALES en la base de datos de muestra de DB2. Para crear la base de datos de ejemplo de DB2 en su sistema, llame al procedimiento almacenado de SQL
CALL QSYS/CREATE_SQL_SAMPLE('MYSCHEMA')
Una tabla cruzada usando Db2 simple
El código de ejemplo 1 muestra la declaración de selección y el conjunto de resultados para seleccionar un resumen de ventas por vendedor.
select sales_person, sum(sales) as sales
from sales
group by sales_person
order by sales_person;
SALES_PERSON SALES
GOUNOT 50
LEE 91
LUCCHESSI 14
Código de muestra 1
Cruzando estos datos daría como resultado la línea única que se muestra en el código de muestra 2.
GOUNOT LEE LUCCHESSI
50 91 14
Código de muestra 2
Desafortunadamente, la obtener este resultado de una sola línea requiere bastante trabajo, como se muestra en el código de muestra 3.
select
sum(case when sales_person = 'GOUNOT' then sales end)
as GOUNOT,
sum(case when sales_person = 'LEE' then sales end)
as LEE,
sum(case when sales_person = 'LUCCHESSI' then sales end)
as LUCCHESSI
from sales;
Código de muestra 3
Examinaremos esta consulta select con más detalle en un momento, pero veamos primero un ejemplo un poco más complicado (y más significativo).
Una tabla cruzada usando Db2 más complicado
En el código de muestra 4 podesmos observar una extensión de la declaración de selección y el conjunto de resultados utilizados en el código de muestra 1. Hemos agregado subtotales por región.
select region, sales_person, sum(sales) as sales
from sales
group by region, sales_person
order by region, sales_person;
REGION SALES_PERSON SALES
Manitoba GOUNOT 15
Manitoba LEE 23
Manitoba LUCCHESSI 3
Ontario-North GOUNOT 1
Ontario-North LEE 8
Ontario-South GOUNOT 10
Ontario-South LEE 34
Ontario-South LUCCHESSI 8
Quebec GOUNOT 24
Quebec LEE 26
Quebec LUCCHESSI 34
Código de muestra 4
Cruzar estos datos es realmente beneficioso, como se muestra en el código de muestra 5.
REGION GOUNOT LEE LUCCHESSI
Manitoba 15 23 3
Ontario-North 1 8 -
Ontario-South 10 34 8
Quebec 24 26 34
Código de muestra 5
Y la declaración de este select que se requiere no es tan diferente del original, como se muestra en el código de muestra 6.
select
region,
sum(case when sales_person = 'GOUNOT' then sales end)
as GOUNOT,
sum(case when sales_person = 'LEE' then sales end)
as LEE,
sum(case when sales_person = 'LUCCHESSI' then sales end)
as LUCCHESSI
from sales
group by region
order by region;
Código de muestra 6
El verdadero problema es…
Si examina las declaraciones select en los códigos de muestra 3 y 6, verá que se define una columna para cada uno de los valores posibles para la columna SALES_PERSON. Cuando se ejecuta la instrucción, el valor de la columna SALES se acumulará en la columna correspondiente (GOUNOT, LEE o LUCCHESSI) en función del valor de la columna SALES_PERSON.
Pero, ¿qué sucede si entra en juego un cuarto vendedor? Sí, tenemos que cambiar la declaración de selección y agregar una columna para el nuevo vendedor.
Personalmente, prefiero una solución libre de mantenimiento.
Usando un procedimiento almacenado
El procedimiento almacenado DO_PIVOT acepta seis parámetros:
El nombre del esquema (biblioteca).
El nombre de la tabla.
El nombre de la columna a pivotar (Cruzar).
El nombre de la columna que se agregará para el pivote.
La función agregada que se realizará (el valor predeterminado es SUM).
El nombre de la columna para agrupar (el valor predeterminado es nulo, lo que da como resultado un conjunto de resultados de una sola línea).
La siguiente llamada al procedimiento proporciona el conjunto de resultados que se muestra en el código de ejemplo 2.
El procedimiento DO_PIVOT construye dinámicamente la instrucción select requerida para generar el conjunto de resultados requerido.
Primero, el procedimiento genera una lista de los distintos valores para la columna dinámica solicitada. Luego, construye la instrucción de selección dinámica, agregando una definición de columna para cada uno de los valores distintos en la lista generada.
Finalmente, el procedimiento ejecuta la declaración generada y devuelve el conjunto de resultados.
El código de muestra 7 muestra el código requerido para crear el procedimiento DO_PIVOT. Simplemente copie y pegue, cambie el nombre del esquema y ejecute las declaraciones.
SET SCHEMA = WHER_YOU_WANT_IT;
CREATE PROCEDURE DO_PIVOT
(IN FOR_SCHEMA CHARACTER (10) ,
IN FOR_TABLE CHARACTER (10) ,
IN PIVOT_COLUMN VARCHAR (250) ,
IN VALUE_COLUMN VARCHAR (250) ,
IN AGG_FUNCTION VARCHAR (5) DEFAULT 'SUM' ,
IN GROUP_COLUMN VARCHAR (250) DEFAULT NULL )
LANGUAGE SQL
MODIFIES SQL DATA
PROGRAM TYPE SUB
CONCURRENT ACCESS RESOLUTION DEFAULT
DYNAMIC RESULT SETS 1
OLD SAVEPOINT LEVEL COMMIT ON RETURN NO
BEGIN
DECLARE SQLCODE INTEGER DEFAULT 0 ;
DECLARE SQL_STATEMENT VARCHAR ( 5000 ) ;
DECLARE PIVOT_VALUE VARCHAR ( 20 ) ;
DECLARE PAD CHAR ( 2 ) DEFAULT ' ' ;
DECLARE C1 CURSOR FOR D1 ;
DECLARE C2 CURSOR WITH RETURN FOR D2 ;
SET SCHEMA = FOR_SCHEMA ;
-- Get the list of values available for the pivot column
-- Each value will be a column in the return set
SET SQL_STATEMENT = 'select distinct '
|| PIVOT_COLUMN
|| ' from '
|| FOR_TABLE
|| ' order by 1' ;
PREPARE D1 FROM SQL_STATEMENT ;
OPEN C1 ;
-- Construct a dynamic select statement for the pivot
SET SQL_STATEMENT = 'select ' ;
-- If requested, add the Group By Column
-- to the select clause
IF GROUP_COLUMN IS NOT NULL THEN
SET SQL_STATEMENT = SQL_STATEMENT || GROUP_COLUMN ;
SET PAD = ', ' ;
END IF ;
-- For each possible value for the Pivot Column,
-- add a case statement to perform the requested
-- aggregate function on the Value Column
FETCH NEXT FROM C1 INTO PIVOT_VALUE ;
WHILE ( SQLCODE >= 0 AND SQLCODE <> 100 ) DO
SET SQL_STATEMENT = SQL_STATEMENT
|| PAD
|| AGG_FUNCTION
|| '(CASE WHEN '
|| PIVOT_COLUMN
|| ' = '''
|| PIVOT_VALUE
|| ''' THEN '
|| VALUE_COLUMN
|| ' END) AS '
|| PIVOT_VALUE ;
SET PAD = ', ' ;
FETCH NEXT FROM C1 INTO PIVOT_VALUE ;
END WHILE ;
CLOSE C1 ;
-- Specify the table to select from
SET SQL_STATEMENT = SQL_STATEMENT
|| ' from '
|| FOR_TABLE ;
-- If requested, add the Group By Column
-- to the select clause
IF GROUP_COLUMN IS NOT NULL THEN
SET SQL_STATEMENT = SQL_STATEMENT
|| ' group by '
|| GROUP_COLUMN
|| ' order by '
|| GROUP_COLUMN;
END IF ;
PREPARE D2 FROM SQL_STATEMENT ;
OPEN C2 ;
END ;
LABEL ON ROUTINE DO_PIVOT
( CHAR(), CHAR(), VARCHAR(), VARCHAR(), VARCHAR(), VARCHAR() )
IS 'Perform a General Purpose Pivot';
COMMENT ON PARAMETER ROUTINE DO_PIVOT
( CHAR(), CHAR(), VARCHAR(), VARCHAR(), VARCHAR(), VARCHAR() )
(FOR_SCHEMA IS 'Schema for Table' ,
FOR_TABLE IS 'For Table' ,
PIVOT_COLUMN IS 'Name of Column to be Pivoted' ,
VALUE_COLUMN IS 'Column to be Aggregated for Pivot' ,
AGG_FUNCTION IS 'Use Aggregate Function' ,
GROUP_COLUMN IS 'Group on Column' ) ;
Código de muestra 7
Este es un procedimiento que he encontrado útil en más de una ocasión y espero que lo encuentres igual de útil. ¡Pero realmente desearía que hubiera una función pivote en DB2!
Crédito a:
Paul Tuohy es CEO de ComCon, una Compañia consultora de iSeries, y un co-fundador de System i Developer.
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Bien como había mencionado antes, el día de hoy les traigo los primeros pasos con Slim 4 en PHP, este es un pequeño tutorial en el caso que tu aun no tengas instalados los componentes solicitados con anterioridad, si los tienes, puedes irte casi al final donde muestro como crear una app básica con Slim.
En el tutorial anterior habíamos mencionado los componentes necesarios para que Slim pueda correr sin problemas, en los primeros pasos con Slim lo que haremos es realizar la instalación de php, para esto nos auxiliaremos de la distribución de apache XAMPP.
Si aún no lo tienes descargado puedes descargarlo de su página oficial XAMPP. Una vez descargado procedemos a realizar su respectiva instalación, este nos realizará la instalación de, Apache, PHP, Perl, MariaDB, dejaremos nuestra instalación totalmente básica, pero si quieres leer mas acerca de la instalación de XAMPP te dejo por acá el link de Preguntas Frecuentes.
Una vez que finalice la instalación este nos preguntara si queremos abrir el panel de control de xampp, No quitemos el check para que este abra solo, en todo caso si lo cerraste, este lo podrás encontrar en el menú de inicio, bien una vez que abra el panel de control, se mostrara una ventana como esta:
Por el momento no iniciaremos ninguno de los servicios, después de esto procederemos a descargar e instalar Composer, una vez descargado, ejecutaremos el Composer-Setup.exe descargado desde la pagina oficial. Este nos solicitara en un combo de selección la versión de php con la que el estará trabajando, por eso necesitamos tener instalado previamente XAMPP. Como se muestra en la figura.
Si tu ruta de instalación no es la misma que seleccioné yo, ahí tienes la opción de buscar la ruta y decirle donde tienes instalada tu versión de PHP.
Composer será agregado a la ruta donde tu tengas instalado PHP. como se muestra en la siguiente figura, después de esto solo presionamos el botón install, esto no tomara tiempo y nos mostrara la pantalla que ya se ha instalado composer, presionamos el botón finalizar y ya estamos listo para empezar a instalar Slim para PHP.
Para comprobar que composer fue instalado y está funcionando correctamente en nuestro ordenador, una de las vías que considero rápidas en Windows es, presionando tecla Windows + R, este abrirá el run de Windows, escribimos cmd y presionamos Enter.
Una vez que estemos en la consola simplemente escribimos composer y presionamos Enter, este nos mostrara la versión que estamos utilizando y nos mostrará los comandos que podemos utilizar con este como se muestra en la imagen.
Primeros pasos con Slim 4
Bien para crear nuestro proyecto, nos guiaremos de la documentación de Slim, la creación del proyecto es algo tan sencillo como ejecutar el siguiente comando.
Es probable que al ejecutar esta línea en el cmd de Windows este nos dé un problema, como se muestra en la imagen.
En caso que les de este error, la forma sencilla y rápida de solucionar este pequeño inconveniente es primeramente irnos a esta ruta de Windows: C:\ProgramData\ComposerSetup\bin
Ahí encontraremos el archivo composer.phar el cual lo copiaremos a la carpeta de nuestro usuario, después de esto cerramos el cmd y ejecutamos una consola nuevamente, copiamos y pegamos la línea que habíamos copiado antes:
Y ejecutamos nuevamente. miraremos como este empieza a descargar los componentes necesarios.
Una vez finalizado este punto ya tenemos creado nuestro proyecto esqueleto nuestros primeros pasos con Slim y empezar a trabajar con este. Luego puedes ejecutarlo con el servidor web incorporado de PHP de esta manera:
cd [my-app-name]
php -S localhost:8080 -t public public/index.php
Donde [my-app-name] sera la ruta de tu proyecto con su nombre por ejemplo en nuestro casos seria:
cd C:\Developer\Project\my-crud-rest
Seguidamente ejecutamos en el cmd el siguiente comando
php -S localhost:8090 -t public public/index.php
De esta manera ha iniciado nuestro servidor virtual. Si nos vamos al navegador e ingresamos la url http://localhost:8090/ en la que iniciamos nuestro servidor virtual miraremos que este nos regresa Hola mundo!
Y así vemos que nuestra primera aplicación con Slim, está corriendo de forma satisfactoria.
Para detener el servidor virtual a como se muestra en la imagen es tan simple como presionar la tecla Ctrl + C y este cerrara este servidor virtual.
Si quieres visitar alguno de nuestros post de programación te invito a verlos en los siguientes Links:
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Hola que tal, como están? espero que muy bien. El día de hoy le vengo a hablar un poco de Slim para PHP que si no me equivoco ya esta en su Versión 4.3, empezaremos hablando acerca de: Que es un Micro-Framework?
Bien, para explicarlo de una manera sencilla, un microframework es un término que se utiliza para referirse a marcos de aplicaciones web minimalistas, normalmente estos facilitan el enviar o recibir una solicitud HTTP al controlador apropiado que a menudo están específicamente diseñados para construir las API para otro servicio o aplicación.
Slim para PHP
Sea un proyecto pequeño o grande, recuerda que una de las decisiones claves es decidir que tecnología base vas a aplicarle a estos proyectos, para que complicarse la vida en la selección del framework? No tiene sentido por ejemplo utilizar un framework de gran envergadura con una curva de aprendizaje quizás un poco mas alta, esto es como saltar de un avión sin paracaídas, es por eso que te propongo usar Slim para PHP.
Slim es un micro framework PHP que sirve para construir rápidamente APIs que se comunican con bases de datos y luego sirven los datos en formatos de textos estructurados tales como JSON, pero también es excelente para crear websites sencillos.
De igual manera si no eres un programador experimentado y estas empezando a programar y no tienes ni la mas mínima idea de por donde iniciar, la propuesta esta acá, PHP es uno de los lenguajes con una programación versátil, con una curva de aprendizaje no tan alta y una documentación de mas de 20 años desde sus inicios, por acá te dejo una guía escrita las directrices para adquirir las mejores practicas en PHP.
Si tu idea es montar una API REST simple pero potente para tus aplicaciones web, Slim para PHP te hará la vida sencilla, ademas de poder desarrollar aplicación muy profesionales de un forma rápida y sencilla.
Slim es muy ligero, está bien documentado y sin lugar a duda es una opción muy recomendable cuando el peso de nuestra aplicación recae del lado del cliente.
Como por ejemplo si nuestra decisión para el front end es usar Angular, React, Vue.js, Ember, Backbone.js o cualquier otro framework mvc de JavaScript, Slim se convierte en nuestro mejor aliado.
Ahora bien lo primero que te recomiendo que instales para utilizar este poderoso framework es PHP, en este caso no importa el sistema operativo estés usando puedes instalarlo tanto en windows como en linux y MAC OS-X, por ejemplo si usas Windows la opción que yo te recomiendo es usar XAMPP el cual es uno de los entornos mas populares de PHP y esta disponible para los sistemas operativos mencionados anteriormente.
XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl. y la cual tiene más de 10 años en este entorno debido a esto hay una gran comunidad detrás del proyecto.
Al igual que en windows hay otras alternativas de instalaciones de este tipo de infraestructura para linux como es LAMP, el cual es usado como el acrónimo para describir un sistema de infraestructura en Linux que al igual que XAMPP contiene Apache, MariaDB-MySql y PHP
Algo interesante y excelente de este framework es la guía de usuario que este nos brinda, ademas de el paso a paso de como descargarlo y como instalarlo esto esta en el sitio oficial de Slim.
Dentro del paso a paso lo primero que debemos de hacer es descargar el manejador de dependencia de PHP Composer, y después de este paso empezar a trabajar con Slim creando un Slim-Skeleton.
Algunas de las granes características de este framework son:
Enrutador HTTP (Route): Slim proporciona un enrutador rápido y potente que asigna devoluciones de llamada de ruta a métodos específicos de solicitud HTTP y URI
Capa Middleware: Slim te permite crear tu aplicación con middleware concéntrico para ajustar los objetos de solicitud y respuesta HTTP alrededor de su aplicación.
Inyección de dependencia: Slim admite la inyección de dependencia para que tenga un control completo de sus herramientas externas.
PSR-7 Support: Slim admite cualquier implementación de mensajes HTTP PSR-7, por lo que puede inspeccionar y manipular el método, estado, URI, encabezados, cookies y cuerpo del mensaje HTTP.
Pero bien, como he dicho, si estás aprendiendo PHP y necesitas montar una aplicación sencilla, en mi humilde opinión pienso que deberías de darle la oportunidad a este Framework Slim y por supuesto a este lenguaje de años.
Me despido no sin antes agradecer tu atención y hacerte saber que mas adelante dejaré por acá un link de los blogs donde mostraré un paso a paso de como instalar XAMPP, instalar Slim y como hacer una API con un CRUD sencillo usando SLIM, mientras tanto te invito a suscribirte a nuestro canal de Youtube Esta Tuani en el cual estaré compartiendo el video tutorial del blog que te mencione antes de la API en Slim.
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Este lenguaje de programación muy arcaico pero poderoso. Mantiene ciertas reglas a considerar a la hora de codificar. Tiene palabras reservadas y nombres simbólicos, tal como otros lenguajes y continuación las mencionare.
Caracteres validos:
Las letras: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Acepta caracteres en minúscula pero al compilar esta se transformaran en mayúsculas.
OJO: RPGLE No es case-sensitive por lo que si usas una variable de nombre “soyVariable” será igual usar “SOYVARIABLE”
Nombres Simbólicos:
Sino estas familiarizado con este termino acá va su definición: Es un nombre que identifica únicamente a una entidad especifica en un programa o procedimiento En el lenguaje RPG IV los nombres simbólicos son usados para lo siguiente:
Arreglos.
Nombres de compilación condicional.
Estructura de Datos.
Excepciones de Registros de Salida.
Campos.
Lista de Campos Llaves.
Etiquetas.
Constantes.
Lista de Parámetros.
Nombres de Prototipos.
Nombres de Registros.
Sub-Rutinas.
Tablas.
Las siguientes reglas se aplican a todos los nombres simbólicos, excepto las desviaciones indicadas en la descripción de cada nombre simbólico:
El primer carácter del nombre debe ser alfabético. Esto incluye los caracteres especiales: $, #, @.
Los caracteres que siguen pueden ser alfabéticos o números. Esto incluye guion bajo o subrayado: (_).
El nombre debe ajustarse a la izquierda en la entrada del formulario de especificación, excepto en los campos que permiten que el nombre flote (especificación de definición, campos de palabras clave y el campo extendido del factor 2).
Un nombre simbólico no puede ser una palabra reservada de RPG IV.
Un nombre simbólico puede tener de 1 a 4096 caracteres. Los límites prácticos están determinados por el tamaño de la entrada utilizada para definir el nombre. Se puede especificar un nombre de hasta 15 caracteres en la entrada Nombre de la definición o especificación del procedimiento. Para nombres de más de 15 caracteres, use una especificación de continuación. Para obtener más información, consulte Acerca de las especificaciones.
Un nombre simbólico debe ser único dentro del procedimiento en el que se define.
Palabras reservadas y Los formularios de especificación los veremos pronto.
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Hola que tal, como están?, bienvenido a este pequeño y sencillo articulo acerca de como crear un archivo Excel en java y por supuesto como leer este archivo desde Java, para este tutorial utilizaremos las librerías de código abierto de de Apache POI. Realmente es algo sencillo de hacer y daremos inicios desde ya.
Bien el primer paso que debes de seguir es realizar la descarga de las librerías de Apache desde el sitio oficial, te dejo por acá el enlace para que las puedas descargar. Apache POI. En amarillo esta marcada la versión que estaremos utilizando.
Exel en Java. Libreria Apache POI
En mi caso decidí descargarlo en .zip, que es el mas común si trabajas con Windows, si tu trabajas con otro sistema operativo y te es mas sencilla otras de las versiones, puedes utilizar la que tu desees.
Descargar librería, en nuestro caso el link sugerido.
Aclaro que por cuestión de gustos y rapidez, yo estaré utilizando Netbeans como IDE así que las imágenes que proporcionaré serán de este, lo dejo a tu criterio el uso de este IDE o si Prefieres Eclipse o cualquier otro, eso ya es cuestión de gustos, para mi es mas cómodo Netbeans.
Pero bien, una vez descargada la librería, procedemos a descomprimir el contenido, en mi caso descomprimiré la librería en una carpeta en la unidad C:\ de mi computador. La ruta completa será C:\Developer\LibsJava\ dentro de esta pegaremos el .zip y damos extraer aquí.
A como logran apreciar, el contenido de la librería es bastante grande, nosotros no utilizaremos tantos archivos, a continuación les agregaré una imagen en la cual mostrare la lista de archivos jars que seleccionaremos para trabajar en nuestro pequeño laboratorio, no son necesarias todas las librerías.
Propiedades del proyecto en Netbeans
Y si mas preámbulo, colocaré el código por acá
EXCEL EN JAVA – CREAR UN ARCHIVO (.XLSX)
El código que muestra a continuación esta 100% funcional, puedes utilizarlo sin problema, solo es necesario cambiar la ruta actual, o si prefieres crear la ruta del archivo donde se creará el Excel con intencional .xlsx. en mi caso la ruta que utilice fue: C:\Developer\Tutorial\Java\ hago un poco de énfasis en esto ya que, si la ruta no se encuentra el código enviara el error que la ruta no fue encontrada.
Te dejo por acá el preciso momento en el que realizamos en el video tutorial la codificación de la creación del archivo Excel.
import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
// Excel en Java, tutorial escritura
public class CreateExcelFile {
public static void main(String[] args) {
String fileName = "Productos.xlsx";
String filePath = "C:\\Developer\\Tutorial\\Java\\" + fileName;
//Seteando el nombre de la hoja donde agregaremos los items
String hoja = "Hoja1";
//Creando objeto libro de Excel
XSSFWorkbook book = new XSSFWorkbook();
XSSFSheet hoja1 = book.createSheet(hoja);
//Cabecera de la hoja de excel
String[] header = new String[]{"Código", "Producto", "Descripción"};
//Contenido de la hoja de excel
String[][] document = new String[][]{
{"C001", "Computador Laptop HP.", "Compurtador marca HP color negro."},
{"C002", "Computador Escritorio Lenovo.", "Compurtador marca lenovo color negro con monitor integrado."},
{"C003", "Impresora HP.", "Impresora marca HP, multifuncional color negro."},
{"C004", "Mouse Inalambrico Logitec.", "Mouse Inalambrico color azul con negro."},
{"C005", "Teclado Inalambrico Lenovo.", "Teclado Inalambrico color blanco."}
};
//Aplicando estilo color negrita a los encabezados
CellStyle style = book.createCellStyle();
Font font = book.createFont();
font.setBold(true);//Seteando fuente negrita al encabezado del archivo excel
style.setFont(font);
//Generando el contenido del archivo de Excel
for (int i = 0; i <= document.length; i++) {
XSSFRow row = hoja1.createRow(i);//se crea las filas
for (int j = 0; j < header.length; j++) {
if (i == 0) {//Recorriendo cabecera
XSSFCell cell = row.createCell(j);//Creando la celda de la cabecera en conjunto con la posición
cell.setCellStyle(style); //Añadiendo estilo a la celda creada anteriormente
cell.setCellValue(header[j]);//Añadiendo el contenido de nuestra lista de productos
} else {//para el contenido
XSSFCell cell = row.createCell(j);//Creando celda para el contenido del producto
cell.setCellValue(document[i - 1][j]); //Añadiendo el contenido
}
}
}
File excelFile;
excelFile = new File(filePath); // Referenciando a la ruta y el archivo Excel a crear
try (FileOutputStream fileOuS = new FileOutputStream(excelFile)) {
if (excelFile.exists()) { // Si el archivo existe lo eliminaremos
excelFile.delete();
System.out.println("Archivo eliminado.!");
}
book.write(fileOuS);
fileOuS.flush();
fileOuS.close();
System.out.println("Archivo Creado.!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Imágenes del archivo Excel creado
EXCEL EN JAVA – LEER UN ARCHIVO (.XLSX)
A continuación les proporciono el fragmento de código 100% funcional de la lectura del archivo Excel desde java. En esta ocasión leeremos el mismo archivo que creamos anteriormente., leyéndolo desde la misma ruta donde lo habíamos creado.
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
// Excel en Java, tutorial lectura
public class LeerArchivoExcel {
public static void main(String[] args) {
// Nombre del archivo a leer
String fileName = "Productos.xlsx";
String pathFile = "C:\\Developer\\Tutorial\\Java\\" + fileName;
try (FileInputStream file = new FileInputStream(new File(pathFile))) {
// Leer el archivo de Excel en la ruta especificada
XSSFWorkbook book = new XSSFWorkbook(file);
// Obtener medinte indice la hoja que se leera
XSSFSheet sheet = book.getSheetAt(0);
// Obteniendo todas las filas de la hoja leida
Iterator<Row> rowIterator = sheet.iterator();
// CRendo un StringBuilder donde almacenaremos los datos del
// Excel temporalmente para mostrarlo en consola
StringBuilder sb = new StringBuilder();
Row row;
// Recorreremos cada fila de la hoja hasta llegar al final
while (rowIterator.hasNext()) {
row = rowIterator.next();
// Obteniendo las celdas de cada fila para obtener valores
Iterator<Cell> cellIterator = row.cellIterator();
Cell cell;
//Recorrienco las celdas de la fila obtenida
while (cellIterator.hasNext()) {
// Obteniendo el valor de la celda para ser almacenada en nuestro buffer
cell = cellIterator.next();
// Agregando a nuestro buffer los valores leidos
// de las celdas incluyendo la cabecera
// Haremos una pequeña validacion para saber si la columna que
// estamos leyendo esta en la posicion cero, si es la primera no agregaremos formato
// de lo contrario rellenaremos con espacios la cadena pare verlo de forma ordenada.
if (cell.getColumnIndex() == 0) {
sb.append(cell.toString()).append("\t");
} else {
sb.append(String.format("%-30s", cell.toString())).append("\t");
}
}
// Agregando salto de linea, por estetica
sb.append("\n");
}
// Imprimiendo contenido del Excel agregado en el buffer
System.out.println(sb.toString());
} catch (Exception e) {
e.getMessage();
}
}
}
También te dejo algunos enlaces con otros tutoriales de programación en Swift. Y te invito a que te suscribas a nuestro canal de Youtube Esta Tuani, tabien te invito a ver el video tutorial completo de este blog por si se te hace mas comodo.
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las aplicaciones que contienen datos jerárquicos a menudo usan tablas junto con un controlador de vista de navegación, lo que facilita la navegación entre diferentes niveles de la jerarquía. Por ejemplo, la aplicación Configuración utiliza tablas y un controlador de navegación para organizar la configuración del sistema.
UITableView gestiona la apariencia básica de la tabla, pero su aplicación proporciona las celdas (objetos UITableViewCell) que muestran el contenido real. Las configuraciones de celda estándar muestran una combinación simple de texto e imágenes, pero puede definir celdas personalizadas que muestren el contenido que desee. También puede proporcionar vistas de encabezado y pie de página para proporcionar información adicional para grupos de celdas. Protocolo UITableViewDataSource.
Apple nos ofrece la clase UITableView para que podamos trabajar con tablas en nuestras aplicaciones. Esta clase ha sido diseñada para poder mostrar tipos de datos muy diferentes. En una tabla puedes mostrar prácticamente cualquier dato, desde un conjunto de opciones básicas hasta un listado de productos en inventarios, con la información completa de cada uno, clasificados por sucursales.
La pregunta es: ¿Cómo le decimos a la clase UITableView que información debe mostrar? La respuesta es, utilizando el protocolo UITableViewDataSource.
Las TableViews se dividen en Secciones y Celdas Las tablas se dividen en diferentes secciones, donde cada sección puede contener un determinado número de celdas, entonces en que consiste el protocolo UITableViewDataSource.
UITableViewDataSource es el enlace entre los datos que queremos mostrar y nuestra UITableView. Este protocolo declara dos métodos obligatorios:
tableView:numberOfRowsInSection()
tableView:cellForRowAt()
El primero de los métodos: numberOfRowsInSection(), el cual especifica el número de celdas que mostraremos en nuestra tabla y se ejecutará tantas veces como secciones tenga nuestra tabla. En nuestro caso, como no hemos indicado el número de secciones, iOS entenderá que nuestra tabla tiene una única sección, por lo que este método se ejecutará una única vez.
El segundo método: cellForRowAt(), nos permite especificar los datos que mostraremos en cada celda y se ejecutará tantas veces como celdas tenga la única sección de nuestra tabla.
Cabe mencionar que estos son métodos obligatorios, y tendremos que implementarlos en nuestra clase si queremos utilizar el protocolo UITableViewDataSource.
Protocolo UITableViewDelegate
Por otro lado tenemos el protocolo UITableViewDelegate. Este protocolo es el encargado de determinar la apariencia de nuestra UITableView. Todos sus métodos son opcionales, por lo que no estamos obligados a implementar ninguno. Sin embargo, ofrece funcionalidades muy útiles como especificar el height de las celdas, configurar tanto el header como el footer de una tabla, reordenar las celdas, etc.
En este tutorial no utilizaremos ninguno de estos métodos, ya que nos vamos a centrar únicamente en mostrar los datos en nuestra aplicación pero aún así es importante que conozcas las opciones que te ofrece este protocolo.
IndexPath La clase IndexPath es fundamental para que entiendas completamente el trabajo con tablas en aplicaciones iOS. Siempre que quieras utilizar alguna TableView en tu aplicación, tendrás que implementar el método cellForRowAt y gran parte del funcionamiento de este método se basa en un objeto de la clase IndexPath.
Este objeto tiene dos propiedades:
.section
.row
A través de estas dos propiedades, podremos situarnos en un punto concreto de una tabla. Mediante la propiedad .section especificaremos en que sección de nuestra tableView nos encontramos, mientras que a través de la propiedad .row determinaremos, dentro de esa sección, en que celda nos encontramos. Por tanto si especificáramos lo siguiente:
.section = 0
.row = 4
Nos encontraríamos en la quinta celda de la primera sección de nuestra tabla.
Creando nuestro proyecto.
Abre Xcode y crea un nuevo proyecto, haciendo clic en la opción “Create a new Xcode project”.
Elige la plantilla “Single View Application” y haz clic en Next para continuar.
A continuación rellena los campos que Xcode te solicita:
Nombre de producto o de la apps.
Nombre de la organización.
El identificador de la organización (Normalmente es el dominio de tu empresa pero en orden inverso).
El lenguaje (Importante que elijas Swift)
Una vez que has introducido esta información, pulsa en Next y Xcode te preguntará donde quieres guardar tu proyecto. Elige una ubicación de tu ordenador y haz clic en el botón Create. Xcode creará tu proyecto y te mostrará tu entorno de trabajo:
Lo primero que haremos será crear la interfaz de nuestra aplicación. Abre el fichero Main.storyboard.
Haz doble clic en el único ViewController que tenemos en nuestro storyboard, para seleccionarlo. Después, en la librería de objetos, situada en la parte inferior derecha, desplázate hacia abajo hasta encontrar el objeto Table View y arrástralo al interior de la view de nuestro ViewController.
Ahora redimensiona la UITableView para que ocupe toda la view principal
Acabas de añadir un UITableView a la interfaz de tu aplicación. Esta tabla será la que utilicemos para mostrar los datos de nuestra app.
Lo siguiente que tienes que hacer es añadir las constraints de esa tabla. Las constraints nos permiten asegurarnos de que al ejecutar nuestra app en cualquier dispositivo, nuestra tabla aparecerá correctamente centrada.
Lo primero que tenemos que hacer es especificar que la clase ViewController.swift se ajustará a los protocolos UITableViewDataSource y UITableViewDelegate. Este es el primer paso siempre que trabajes con protocolos, determinar que clase será la que implemente el protocolo.
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate
En clase ViewController.swift, declaramos la variable donde almacenaremos la información que queremos que muestre nuestra tabla.
Como los datos que mostraremos en nuestra tabla será un listado de paises Centroamericanos, utilizaremos un array llamado Banderas para almacenar ese listado. Por tanto, tendrás que añadir la siguiente variable justo antes del método viewDidLoad() y posterior a esto se rellana el array con los nombre de los paises de centroamérica dentro del método viewDidLoad():
var banderas:[String] = []
override func viewDidLoad() {
super.viewDidLoad()
banderas=["Guatemala", "Honduras", "El Salvador",
"Nicaragua", "Costa Rica", "Panama"]
}
Ahora que ya tenemos nuestro array con todos los equipos que queremos mostrar en nuestra tabla, es hora de hacer que nuestra tabla muestre estos datos. Para ello utilizaremos los dos métodos del protocolo UITableViewDataSource:
numberOfRowsInSection()
cellForRowAt()
Añade la implementación de estos dos métodos a tu clase ViewController.swift:
Recuerda que hemos comentado antes, que estos dos métodos no se ejecutan una única vez.
A continuación tienes la explicación del código de cada uno de ellos.
El método numberOfRowsInSection(), como hemos dicho, es el encargado de especificar el número de celdas que mostraremos. En nuestro caso, como queremos mostrar tantas celdas como elementos hayamos almacenado en nuestro array banderas, utilizaremos la propiedad count, que lo que hace es devolver el número de elementos que hay almacenados en un array. De esta forma, si nuestro array characters tiene 6 elementos, nuestro método numberOfRowsInSection devolverá 6. Por tanto nuestra tabla mostrará 6 celdas con contenido.
Por otro lado, el método cellForRowAt() crea un objeto celda, que hemos llamado cell, de tipo UITableViewCell, al que se le asigna el identificador “mycell”. Posteriormente, lo que hace es asignar a su propiedad textLabel.text, el texto que queremos mostrar, que en nuestro caso, será el elemento que esté contenido en el array, en la posición indexPath.row.
Recuerda que la propiedad indexPath.row indica la celda en la que nos encontramos, por lo que la primera vez que se ejecute el método cellForRowAt(), indexPath.row será igual a 0, la segunda será igual a 1, la tercera será igual a 2, de esta forma podremos recorrer nuestro array teams y mostraremos cada vez un elemento distinto del array. No olvides que el método cellForRowAt() se ejecuta tantas veces como celdas vayamos a mostrar en nuestra tabla.
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Ya hemos aprendido a crear nuestra virtual de MAC OSX y nuestro ambiente de trabajo en los posts anterior de Introducción a Swift IOS Parte #1, si no los has leido te invito a visitar primero estos dos posts.
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Lo primero que haremos e ir a abrir nuestro IDE xCode y escoger la opción de crear un nuevo proyecto de xcode.
En la ventana de selección de template para tu nuevo proyecto seleccionamos la opción de Vista simple de App.
Le ponemos un nombre a nuestra aplicación que en nuestro caso se llamara MiPrimeraApp, y hacemos clic sobre el botón y por último sobre el botón crear.
Lo primero que se nos muestra es la pantalla de las propiedades de configuración general de nuestro proyecto, donde podemos observar el nombre de nuestro proyecto, nuestro identificador de paquete permite que iOS y macOS reconozcan cualquier actualización de esta aplicación, la versión de nuestro proyecto y el número de compilado.
En nuestra estructura de proyecto tenemos en primer plano, nuestros Storyboards y nuestros ViewControllers, que son los componentes con los que trabajaremos para este ejemplo.
Usando nuestro panel de librerías de objetos vamos a diseñar esta pantalla básica, con la que haremos funcionar nuestro ejemplo.
Para conectar nuestro control de interfaz de tipo texto con una variable de control dentro de nuestro editor, necesitaremos seleccionar el control a vincular o conectar y presionando la tecla “Control” y presionando nuestro cursor arrastramos desde nuestro control de interfaz a la posición donde necesitamos poner o inicializar nuestro variable de control en nuestro ViewController, no abrirá un modal donde verificamos que el tipo de conexión se “Outlet”, definimos el nombre y damos clic sobre el botón conectar.
Para los controles que son tipo botón el procedimiento es el mismo con la diferencia que el tipo de conexión seria de acción, esto es para indicar que la conexión se hará hacia una función o evento.
Nuestro ViewController deberia quedar de esta manera:
@IBOutlet weak var txtNumero1: UITextField!
@IBOutlet weak var txtNumero2: UITextField!
@IBOutlet weak var lblResultado: UILabel!
@IBAction func btnSumar_Click(_ sender: Any) {
var vSumar : Int = Int(txtNumero1.text!)! + Int(txtNumero2.text!)!;
lblResultado.text = String(vSumar);
}
@IBAction func btnRestar_Click(_ sender: Any) {
var vRestar : Int = Int(txtNumero1.text!)! - Int(txtNumero2.text!)!;
lblResultado.text = String(vRestar);
}
@IBAction func btnMultiplicar(_ sender: Any) {
var vMultiplicar : Int = Int(txtNumero1.text!)! * Int(txtNumero2.text!)!;
lblResultado.text = String(vMultiplicar);
}
@IBAction func btnDividir_OnClick(_ sender: Any) {
var vDividir : Int = Int(txtNumero1.text!)! / Int(txtNumero2.text!)!;
lblResultado.text = String(vDividir);
}
Conceptos fundamentales de UITableView Las tablas son comúnmente utilizadas por aplicaciones cuyos datos están altamente estructurados u organizados jerárquicamente. Las...
En este Post aprenderemos a crear nuestra primera app básica usando Swift IOS, la cual estará conformado por dos campos de textos donde se digitarán números que a través de botones se ejecutarán acciones básicas de una calculadora como sumar, restar, multiplicar y dividir.
Luis Alberto Fonseca Mendez / octubre 20, 2019 / 8 Replies
Swift es un lenguaje de programación creado por Apple, el cual esta enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch
Swift-IOS es un lenguaje de programación creado por Apple, el cual está enfocado para desarrollar aplicaciones que corran en iOS, Mac OS (OSX), TvOS y WatchOS presentado oficialmente en el año 2014 y diseñado para que se pudiera integrar con Cocoa y Cocoa Touch, se considera que es el lenguaje que viene a sustituir a Objective-C como lenguaje principal para los desarrollos de aplicaciones de Apple.
Swift está totalmente integrado con cualquier lógica y/o librerías hechos en su predecesor Objective-C, haciendo fácil de usar y procurando no perder desarrollo hecho con el lenguaje antes mencionado y que se desea implementar o integrar con Swift-IOS.
Este lenguaje de programación es poderoso e intuitivo y a la vez hace que la escritura de código sea interactivo y divertido, enfocado a que sea seguro y que se produzcan apps que se ejecuten rápido y que sobre todo administre eficientemente los recursos de los dispositivos. Para mayo de 2018 salió la versión 4 de Swift el cual viene con el IDE XCode 9 para el desarrollo en plataforma de Mac OS.
Es el entorno de desarrollo integrado (IDE) usado por Mac OS para el desarrollo de software y contiene todas las herramientas diseñada y creadas por Apple para la creación de aplicaciones que corran en sus sistemas operativos iOS, Mac OS, Watch OS y Tv OS.
Trabaja en conjunto con Interface Builder una herramienta gráfica para la creación de interfaces de usuarios, y puede compilar códigos hechos en lenguajes como C, C++, Swift, Objective C, Objective C++, Java y AppleScript.
Crear ambiente de trabajo
A continuación, se explicara de forma corta como crear el ambiente de trabajo en su Macbook o en su Virtual de MAC OS en Windows.
1- Entrar a App Store en la barra inferior de la pantalla o usando “launchpad” de MAC OS
2- En App Store, se filtra desde el buscador que esta en la parte superior derecha de la pantalla la palabra “xcode”
3- En la pantalla de instalación se da click sobre la opción de Get – Installs, e inicia la instalación de XCode.
4- Esperar que finalice y ya tenemos nuestro ambiente de desarrollo creado.
Ya estan los spoilers de One Piece Manga 976, Y es que en la portada de la WSJ tenemos a Luffy, Gol D. Roger y Oden junto al mensaje "la voluntad heredada a través del espacio y el tiempo".