
Actividad diagnostica
Objetivo:Identificar los conocimientos previos de los estudiantes en HTML, CSS y lógica básica de diseño web.Instrucciones:Crea una página web simple con un archivo index.html.La página debe contener:Un título principal con tu nombre.Un párrafo donde describas qué entiendes por "aplicaciones web progresivas".Una lista (puede ser ordenada o no ordenada) con 3 aplicaciones web que uses en tu día a día.Una imagen (puede ser de internet o de tu computadora).Aplica algo de estilo con CSS interno o...

App móvil con CRUD conectado a servidor LAMP
Objetivo generalDesarrollar una app móvil en React Native (Expo) capaz de conectarse a una API PHP que realiza operaciones CRUD sobre una tabla en MySQL, todo dentro de una red local.Herramientas necesariasMySQ: Base de datosPHP (Apache o XAMPP): API en backendReact Native + ExpoApp: móvil frontendPostman (opcional): Prueba de endpoints APIVS Code: Editor de códigoExpo Go: Pruebas en el móvil (iOS/Android)Parte 1: Crear la base de datosEn phpMyAdmin o línea de comandos de MySQL:CREATE DATABAS...

La señal que nunca llegó
Lucas tenía una visión: crear una app que ayudara a pequeños productores locales a vender sus cosechas directamente a consumidores urbanos. Nada de intermediarios, solo conexión. La llamó Raíz. Desde su pequeño estudio en Oaxaca, con más corazón que presupuesto, construyó una app limpia, intuitiva y optimista. El diseño estaba listo. Las funciones estaban listas. Los productores estaban listos. Solo faltaba que el mundo se conectara con ella. El día del lanzamiento fue como un amanecer. Lucas...

Actividad diagnostica
Objetivo:Identificar los conocimientos previos de los estudiantes en HTML, CSS y lógica básica de diseño web.Instrucciones:Crea una página web simple con un archivo index.html.La página debe contener:Un título principal con tu nombre.Un párrafo donde describas qué entiendes por "aplicaciones web progresivas".Una lista (puede ser ordenada o no ordenada) con 3 aplicaciones web que uses en tu día a día.Una imagen (puede ser de internet o de tu computadora).Aplica algo de estilo con CSS interno o...

App móvil con CRUD conectado a servidor LAMP
Objetivo generalDesarrollar una app móvil en React Native (Expo) capaz de conectarse a una API PHP que realiza operaciones CRUD sobre una tabla en MySQL, todo dentro de una red local.Herramientas necesariasMySQ: Base de datosPHP (Apache o XAMPP): API en backendReact Native + ExpoApp: móvil frontendPostman (opcional): Prueba de endpoints APIVS Code: Editor de códigoExpo Go: Pruebas en el móvil (iOS/Android)Parte 1: Crear la base de datosEn phpMyAdmin o línea de comandos de MySQL:CREATE DATABAS...

La señal que nunca llegó
Lucas tenía una visión: crear una app que ayudara a pequeños productores locales a vender sus cosechas directamente a consumidores urbanos. Nada de intermediarios, solo conexión. La llamó Raíz. Desde su pequeño estudio en Oaxaca, con más corazón que presupuesto, construyó una app limpia, intuitiva y optimista. El diseño estaba listo. Las funciones estaban listas. Los productores estaban listos. Solo faltaba que el mundo se conectara con ella. El día del lanzamiento fue como un amanecer. Lucas...

Subscribe to Frexus

Subscribe to Frexus
<100 subscribers
<100 subscribers
Share Dialog
Share Dialog


Desarrollar una aplicación móvil tipo cliente ligero que muestre:
Clima actual según la ubicación del usuario.
Pronóstico básico para las siguientes horas o días.
Tener Node.js instalado.
Crear una cuenta en OpenWeatherMap para obtener tu API Key.
Tener Expo CLI:
npm install -g expo-cli
npx create-expo-app clima-app
Entra a tu proyecto:
cd clima-app
Desarrollar una aplicación móvil tipo cliente ligero que muestre:
Clima actual según la ubicación del usuario.
Pronóstico básico para las siguientes horas o días.
Tener Node.js instalado.
Crear una cuenta en OpenWeatherMap para obtener tu API Key.
Tener Expo CLI:
npm install -g expo-cli
npx create-expo-app clima-app
Entra a tu proyecto:
cd clima-app
expo install expo-location
npm install axios
expo-location → para acceder a la ubicación del dispositivo.
axios → para hacer peticiones HTTP a la API del clima.
En App.js o App.tsx:
import React, { useEffect, useState } from 'react';
import { View, Text, StyleSheet, ActivityIndicator } from 'react-native';
import * as Location from 'expo-location';
import axios from 'axios';
export default function App() {
const [location, setLocation] = useState(null);
const [forecast, setForecast] = useState(null);
const [loading, setLoading] = useState(true);
const API_KEY = 'TU-API-KEY';
useEffect(() => {
(async () => {
let { status } = await Location.requestForegroundPermissionsAsync();
if (status !== 'granted') {
alert('Permiso denegado');
return;
}
let location = await Location.getCurrentPositionAsync({});
setLocation(location.coords);
const { latitude, longitude } = location.coords;
try {
const response = await axios.get(
`https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${API_KEY}&units=metric&lang=es`
);
setForecast(response.data);
} catch (error) {
alert('Error al obtener datos del clima');
}
setLoading(false);
})();
}, []);
if (loading) {
return <ActivityIndicator style={{ flex: 1 }} size="large" />;
}
if (!forecast) {
return <Text>No se pudo obtener el clima.</Text>;
}
return (
<View style={styles.container}>
<Text style={styles.city}>{forecast.name}</Text>
<Text style={styles.temp}>{forecast.main.temp}°C</Text>
<Text>{forecast.weather[0].description}</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1, alignItems: 'center', justifyContent: 'center',
},
city: {
fontSize: 28, fontWeight: 'bold',
},
temp: {
fontSize: 48, color: '#2196f3',
},
});
Puedes usar la API de pronóstico de OpenWeatherMap:
https://api.openweathermap.org/data/2.5/forecast
Esto devuelve el pronóstico por bloques de 3 horas. Puedes mostrar los siguientes 3 o 5 bloques.
Usa el emulador de Expo Go en Android/iOS o en web.
Desactiva el GPS para ver cómo se comporta.
Cambia la API a una ciudad fija si no deseas usar ubicación.
Cómo un cliente ligero solicita datos al servidor (clima).
El procesamiento ocurre del lado del servidor, y el cliente solo los muestra.
Uso de Expo para desarrollo rápido multiplataforma.
Documentación Expo Location: https://docs.expo.dev/versions/latest/sdk/location/
Documentación OpenWeatherMap: https://openweathermap.org/current
Mas info:
expo install expo-location
npm install axios
expo-location → para acceder a la ubicación del dispositivo.
axios → para hacer peticiones HTTP a la API del clima.
En App.js o App.tsx:
import React, { useEffect, useState } from 'react';
import { View, Text, StyleSheet, ActivityIndicator } from 'react-native';
import * as Location from 'expo-location';
import axios from 'axios';
export default function App() {
const [location, setLocation] = useState(null);
const [forecast, setForecast] = useState(null);
const [loading, setLoading] = useState(true);
const API_KEY = 'TU-API-KEY';
useEffect(() => {
(async () => {
let { status } = await Location.requestForegroundPermissionsAsync();
if (status !== 'granted') {
alert('Permiso denegado');
return;
}
let location = await Location.getCurrentPositionAsync({});
setLocation(location.coords);
const { latitude, longitude } = location.coords;
try {
const response = await axios.get(
`https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${API_KEY}&units=metric&lang=es`
);
setForecast(response.data);
} catch (error) {
alert('Error al obtener datos del clima');
}
setLoading(false);
})();
}, []);
if (loading) {
return <ActivityIndicator style={{ flex: 1 }} size="large" />;
}
if (!forecast) {
return <Text>No se pudo obtener el clima.</Text>;
}
return (
<View style={styles.container}>
<Text style={styles.city}>{forecast.name}</Text>
<Text style={styles.temp}>{forecast.main.temp}°C</Text>
<Text>{forecast.weather[0].description}</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1, alignItems: 'center', justifyContent: 'center',
},
city: {
fontSize: 28, fontWeight: 'bold',
},
temp: {
fontSize: 48, color: '#2196f3',
},
});
Puedes usar la API de pronóstico de OpenWeatherMap:
https://api.openweathermap.org/data/2.5/forecast
Esto devuelve el pronóstico por bloques de 3 horas. Puedes mostrar los siguientes 3 o 5 bloques.
Usa el emulador de Expo Go en Android/iOS o en web.
Desactiva el GPS para ver cómo se comporta.
Cambia la API a una ciudad fija si no deseas usar ubicación.
Cómo un cliente ligero solicita datos al servidor (clima).
El procesamiento ocurre del lado del servidor, y el cliente solo los muestra.
Uso de Expo para desarrollo rápido multiplataforma.
Documentación Expo Location: https://docs.expo.dev/versions/latest/sdk/location/
Documentación OpenWeatherMap: https://openweathermap.org/current
Mas info:
No activity yet