Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Development, Present and Future - TechZone 2019

Mobile Development, Present and Future - TechZone 2019

Un recorrido por la tendencia actual del mercado, el tipo de perfiles en development que se busca. Desarrollo nativo de aplicaciones iOS, Android, las modernos frameworks de Google y Apple para acelerar el desarrollo de aplicaciones. Alternativas híbridas como Flutter, React Native, Xamarin, subidas y bajadas de popularidad en algunas de estas. Además de la tendencia de crear aplicaciones multiplataforma como el Project Catalyst de Apple, crear aplicaciones para iOS, iPadOS y macOS con el mismo código base y Flutter Desktop como real competidor de Electron.

Daniel Alvarez

September 07, 2019
Tweet

More Decks by Daniel Alvarez

Other Decks in Programming

Transcript

  1. Same DART base code, application for iOS, Android, Web and

    desktop in the future https://flutter.dev/
  2. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical"

    tools:context="com.adaniel.tracking.ui.LoginActivity"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" app:titleTextColor="@color/toolbarTextColor" /> <androidx.drawerlayout.widget.DrawerLayout android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <ViewStub android:id="@+id/body_container" android:layout_width="match_parent" android:layout_height="match_parent" android:inflatedId="@+id/container"> </ViewStub> <com.google.android.material.navigation.NavigationView android:id="@+id/navigationView" android:layout_width="wrap_content" android:layout_height="match_parent" android:fitsSystemWindows="true" android:layout_gravity="start" /> </androidx.drawerlayout.widget.DrawerLayout>
  3. <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES"

    useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="2nm-bz-aQf"> <device id="retina6_1" orientation="portrait"> <adaptation id="fullscreen"/> </device> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <scenes> <!--Authorization View Controller--> <scene sceneID="WyV-jk-FuV"> <objects> <viewController storyboardIdentifier="authorizationViewController" id="2nm-bz-aQf" customClass="AuthorizationViewController" customModule="SprintTrello" customModuleProvider="target" sceneMemberID="viewController"> <view key="view" contentMode="scaleToFill" id="hJ0- aF-f1i"> <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <button opaque="NO"
  4. const App = () =>V ( <CardGroup> <Card title="La Paz"

    label="City" image="lp-background.jpg" /> <Card title="Cochabamba" label="City" image="cbba-background.jpg" /> </CardGroup> ); export default App;
  5. Inspired by React, Litho, Vue.js, Flutter. A new set of

    Jetpack UI widgets. Jetpack Compose
  6. @Composable fun CityWidget(city: CityData) { val image = asyncLoad(defaultPlaceholder) {

    loadImage(city.imageUri) } Card(cornerRadius = 4.dp, elevation = 4.dp) { Column { Image(image) Padding(16.dp) { Text(city.name) } } } }
  7. AR