Étiquette : iOS

Introduction à Flutter

J’ai commencé à apprendre cette nouvelle technologie étonnante par moi-même. En apprenant, j’ai découvert que c’était très facile. Ensuite, j’ai pensé que d’autres devraient en savoir plus sur Flutter.

Cet article s’adresse donc principalement à ceux qui ne savent pas ce qu’est Flutter et qui souhaitent en savoir plus sur cette technologie.

Introduction à Flutter

Flutter est un cadre de développement d’applications mobiles open source permettant de développer des applications mobiles natives Andriod et iOS en un seul code.

Flutter a été introduit par Google. La version stable de Flutter est Flutter 1.0 qui a été publiée le 4 décembre 2018. Le ciel est la première application Flutter qui a fonctionné dans l’OS Andriod.

Pourquoi Flutter ?

Puisqu’il existe de nombreuses technologies de développement d’applications mobiles multiplateformes disponibles de nos jours, pourquoi avons-nous besoin de Flutter ?

La principale raison de l’introduction de Flutter est que Google développe un nouveau système d’exploitation appelé Fuchsia OS, qui est principalement destiné à fonctionner sur tous les PC, ordinateurs portables, tablettes et smartphones. Pour développer une application pour Fuchsia OS, ils sont venus avec Flutter SDK.

Points forts de Flutter

Flutter présente de nombreux avantages par rapport aux autres SDK mobiles :

  • Développement rapide
  • Interface utilisateur riche (Widgets)
  • Performances natives
  • Développement rapide

Flutter dispose d’une nouvelle fonctionnalité appelée Hot Reload, qui aide les développeurs à construire rapidement et facilement des interfaces utilisateur et à corriger les bogues en injectant des fichiers de code source mis à jour dans la machine virtuelle Dart en cours d’exécution.

Ensuite, le framework Flutter reconstruit automatiquement le widget à cet endroit, permettant aux développeurs de visualiser les changements effectifs. Ne vous inquiétez pas pour les widgets, nous les étudierons en détail dans un prochain article.

Une interface utilisateur riche

Dans Flutter, tout est un widget. Les développeurs peuvent concevoir de magnifiques IU à l’aide de bibliothèques intégrées. Les widgets sont construits à l’aide du framework. Le concept de widget dans Flutter est inspiré de React Components. Tout dans Flutter est un Widget. Parmi les widgets de base et les plus couramment utilisés, citons :

  • Texte
  • Row
  • Colonne
  • Conteneur

Nous examinerons plus en détail les widgets dans un prochain article.

Performances natives

Les widgets de Flutter intègrent toutes les plateformes essentielles pour offrir des performances natives complètes sur iOS et Android.

Langage

Dart est le langage utilisé dans le Framework Flutter. Il n’est pas obligatoire d’être une personne compétente en Dart pour développer des applications Flutter. En développant des applications dans Flutter, on peut apprendre Dart de manière pratique.

Base de données

C’est une chose qui nous vient à l’esprit – Flutter peut-il être connecté à une base de données ? La réponse est – Oui, nous pouvons nous connecter avec des bases de données. J’ai mentionné ici quelques bases de données qui peuvent être connectées à Flutter.

  • SQLite – Pour accéder à SQLite dans Flutter, nous avons besoin d’un plugin sqflite.
  • Firebase

Éditeurs

Tout d’abord, téléchargez le SDK de Flutter et installez-le sur votre machine locale. Ensuite, vous pouvez utiliser l’un des éditeurs suivants.

Nous devons également installer l’extension Dart lors de l’utilisation d’un de ces éditeurs.

Points à retenir

Flutter est développé par Google.
Nous pouvons développer des applications mobiles natives Andriod et iOS en un seul code en utilisant Flutter.

  • Développement rapide – Rechargement à chaud
  • Interface utilisateur expressive (Widgets)
  • Performances natives

Dans cet article, nous avons appris quelques bases de Flutter.

Merci de votre lecture.

Faites-moi savoir si vous rencontrez des difficultés, n’hésitez pas à commenter ci-dessous j’aime vous aider. Si vous avez une suggestion de nouvel article ou tutoriel alors exprimez-vous en commentant.

N’oubliez pas de partager ce tutoriel avec vos amis sur Facebook et Twitter.

 

Flutter : Comment créer une mise en page plein écran ?

Dans les applications smartphones avec une interface utilisateur moderne, vous voyez beaucoup d’applications mobiles avec un style de conception affichant une image plein écran, et vous devez savoir comment le faire. Je vais vous montrer comment créer une image plein écran dans Flutter à travers ce post.

Image plein écran dans Flutter

Pour y parvenir, vous devrez appliquer la propriété de décoration sur le conteneur. Comme il existe de nombreux types de décoration, nous utiliserons BoxDecoration et appliquerons une DecorationImage avec un BoxFit.cover.

Ainsi, le code final pour créer une image plein écran dans Flutter semble assez simple. Le Container se présente ainsi :

Container(
  decoration: BoxDecoration(
    image: DecorationImage(
      image: NetworkImage(
        'https://images.unsplash.com/photo-1517030330234-94c4fb948ebc?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1275&q=80'),
      fit: BoxFit.cover,
    ),
  ),
  child: Center(
    child: Text(
      'Mise en page de base',
      style: TextStyle(
        color: Colors.white,
        fontSize: 30,
      ),
    ),
  ),
),

Dans l’exemple de code ci-dessus, je charge une image depuis une URL et je l’affiche.

Flutter Design plein écrana

Flutter Design plein écran

Comme vous pouvez le constater, la barre en haut de l’écran affiche également l’image de fond. Pour se faire, vous devez utiliser la transparence :

child: AppBar(
  title: Text("Transparent AppBar"),
  backgroundColor: Colors.transparent,
  elevation: 0,
  actions: <Widget>[
    IconButton(
      icon: Icon(Icons.share),
      onPressed: () {},
      tooltip: 'Share',
    ),
  ],
),

En résumé :

Comme nous l’avons vu, c’est assez simple et direct de créer une page intégrant une image plein écran dans Flutter avec quelques lignes de code.

Le code est disponible sur GitLab : Flutter basic layout

 

 

Application mobile : Liste de tâches

En cette fin d’année, pendant mes congés, je décidé de suivre le cours « The Complete Flutter App Development Course for Android, iOS » chez Udemy.

Comme je me suis bien amusé pendant cette formation je vous livre le résultat : un projet d’application mobile de prise de notes permettant de mettre en œuvre une base locale SQFLite (exercice à but de formation et non publiée dans les stores Apple et Android).
Suivant l’avancée de ce projet, je pourrai un jour la publier sur Google Play (Android) ou l’App Store (iPhone ou iPad).
Stay tuned 😉

Présentation de l’application mobile Liste de tâches

L’application mobile permet de gérer une liste de tâches facilement repérable par priorité.
Elle utilise une base de données locale SQFLite permettant de stocker vos tâches composées d’une description et de la date de création.
Vous pouvez également supprimer les tâches qui ne vous conviennent plus ou que vous avez réalisé (évolution possible : conserver les tâches achevées en mémoire).

News de l’application mobile Liste de tâches

  • 28 décembre 2019 : Conception de la logique en relation avec une base de données locale SQFLite pour sauvegarder et conserver en mémoire les tâches. Dans cette itération, j’ai également créé le design graphique.

Les sources du projets sont disponibles librement sur mon compte GitLab

 

 

Flutter : Comment créer un formulaire et une SnackBar ?

Avec ce tutoriel Flutter, je vais vous présenter la manière de construire un formulaire avec vérification pour éviter que la saisie soit non-nulle associé à un message d’alerte via une SnackBar d’alerte. Comme d’habitude je partage le code dans ce billet consacré à Flutter.

Le formulaire avec validation

Les applications demandent souvent aux utilisateurs de saisir des informations dans un champ de texte. Par exemple, vous pouvez demander aux utilisateurs de saisir un identifiant et un mot de passe pour valider l’accès à un espace privé.

Pour que votre application soit sûres et faciles à utiliser, vous devez vérifier si les informations fournies par l’utilisateur sont valides. Si l’utilisateur a correctement rempli le formulaire, traitez les informations. Si l’utilisateur soumet des informations incorrectes, affichez un message d’erreur convivial pour lui faire savoir ce qui ne s’est pas passé.

C’est à ce moment qu’intervient la SnackBar.

Champ formulaire Flutter stylé

Le code du champ de formulaire :

TextFormField(
  maxLength: 25,
  decoration: const InputDecoration(
      labelText: 'Champ de formulaire',
      hintText: 'Entrer du texte',
      border: OutlineInputBorder()),
  validator: (value) {
    if (value.isEmpty) {
      return 'Veuillez saisir un texte';
    }
    return null;
  },
)

La SnackBar

Elle permet d’informer brièvement vos utilisateurs lorsque certaines actions ont lieu. Par exemple, lorsqu’un utilisateur glisse un message dans une liste, vous pouvez l’informer que le message a été supprimé.

Vous pourriez même leur donner une option pour annuler l’action.

Snackbar de validation suite à action sur le bouton

Le code du bouton de validation et de la snackbar de confirmation :

child: RaisedButton(
  onPressed: () {
    // Retourne true si le formulaire est valide, sinon false
    if (_formKey.currentState.validate()) {
      // Affiche le Snackbar si le formulaire est valide
      Scaffold.of(context).showSnackBar(
          SnackBar(content: Text('Traitement en cours')));
    }
  },
  child: Text('Envoyer'),
)

Construire un formulaire et une SnackBar d’alerte

Dans l’exemple que je vous propose dans ce tutoriel Flutter, vous allez apprendre comment ajouter une validation à un formulaire qui comporte un seul champ de texte en suivant les étapes suivantes :

  • Créer un formulaire avec une clé globale.
  • Ajouter un champ de type TextFormField avec une logique de validation.
  • Créez un bouton pour valider et soumettre le formulaire.
  • Afficher une SnackBar lorsque la saisie est valide (non-nulle)
  • Fournir une action facultative

Voici le code complet du tuto Flutter :

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Formulaire et Snackbar',
      theme: ThemeData(
        primarySwatch: Colors.orange,
      ),
      home: MyHomePage(title: 'Formulaire et Snackbar'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Container(
        child: MyCustomForm(),
      ),
    );
  }
}

class MyCustomForm extends StatefulWidget {
  @override
  MyCustomFormState createState() {
    return MyCustomFormState();
  }
}

class MyCustomFormState extends State<MyCustomForm> {
  final _formKey = GlobalKey<FormState>();

  @override
  Widget build(BuildContext context) {
    // Construire le formulaire avec _formKey créé au-dessus
    return Form(
      key: _formKey,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          TextFormField(
            validator: (value) {
              if (value.isEmpty) {
                return 'Veuillez saisir un texte';
              }
              return null;
            },
          ),
          Padding(
            padding: const EdgeInsets.symmetric(vertical: 16.0),
            child: RaisedButton(
              onPressed: () {
                // Retourne true si le formulaire est valide, sinon false
                if (_formKey.currentState.validate()) {
                  // Affiche le Snackbar si le formulaire est valide
                  Scaffold.of(context).showSnackBar(
                      SnackBar(content: Text('Traitement en cours')));
                }
              },
              child: Text('Envoyer'),
            ),
          ),
        ],
      ),
    );
  }
}

Retrouvez le code de ce tuto sur GitLab

J’espère que ce projet vous aidera à mieux comprendre comment construire un formulaire et une SnackBar avec Flutter. N’hésitez pas à ajouter vos commentaires ou questions ci-dessous, je me ferai un plaisir d’y répondre.

 

Application mobile : Frais kilométriques

Aperto App - Indemnités kilométriques - Projet personnel développé en Flutter pour iPhone et Android

Présentation de l’app. mobile

Optimisez la gestion de vos frais kilométriques avec FraisKilo, votre allié intelligent pour le calcul précis des coûts liés à vos déplacements professionnels. Notre application simplifie le processus en se basant sur le barème officiel de l’URSSAF, garantissant une conformité totale.

Caractéristiques Clés

  1. Calcul Précis : FraisKilo utilise le barème officiel de l’URSSAF pour assurer des calculs précis des frais kilométriques, prenant en compte la puissance du véhicule et le nombre de kilomètres parcourus.
  2. Personnalisation Facile : Saisissez simplement la puissance de votre véhicule et le nombre de kilomètres, et laissez FraisKilo faire le reste. L’application s’adapte à vos caractéristiques spécifiques pour des résultats individualisés.
  3. Gain de Temps : Oubliez les calculs manuels fastidieux. FraisKilo automatise le processus, vous permettant de consacrer votre temps à des tâches plus importantes.
  4. Suivi Efficace : Gardez une trace de vos dépenses kilométriques avec facilité. FraisKilo vous offre un suivi clair et organisé de toutes vos données de déplacement.
  5. Conformité Assurée : Avec FraisKilo, vous bénéficiez de la certitude d’une conformité totale aux normes fiscales et aux barèmes officiels, évitant ainsi les erreurs coûteuses.

Soyez maître de vos dépenses kilométriques avec FraisKilo. Téléchargez l’application dès aujourd’hui et transformez la gestion de vos déplacements professionnels. Simplifiez, optimisez, et économisez avec FraisKilo Calculatrice.

Actualités de l’app. mobile

Mises à jour

  • 22 février 2019 – Conception du design et de la logique de calcul avec le langage de développement d’applications Flutter

Actualité sur les indemnités kilométriques

Publication sur les stores

  • Android – Google Play : app. mobile non publiée
  • iPhone – App Store : app. mobile non publiée

Informations techniques

  • Après la publication de mon billet sur le calcul des indemnités kilométriques, j’ai eu l’idée de développer une application mobile pour Android et iOS en utilisant le langage de développement Flutter.
  • Les sources du projets sont disponibles librement sur mon compte GitHub.