====== Mobile App ====== Aussi: * [[/informatique/android|/informatique/android]] * l’appli [[/app/croustiwiki|CroustiWiki]] tags: smartphone, application ===== responsive vs adaptive ===== Une application réactive (//responsive//) ajuste la disposition des éléments graphiques afin de s'adapter à l'espace disponible. Une application adaptative (//adaptive//), quant à elle, sélectionne la mise en page et les périphériques d'entrée appropriés pour être utilisable dans l'espace disponible. Par exemple, l'interface utilisateur d'une tablette doit-elle utiliser une navigation par le bas ou une navigation par panneau latéral ? The [[https://developer.android.com/docs/quality-guidelines/large-screen-app-quality|Android Large Screen App Quality Guidelines]] and the [[https://developer.apple.com/design/human-interface-guidelines/designing-for-ipados|iOS equivalent]] say that neither text nor boxes should take up the full screen width. How to solve this in an adaptive way? * https://docs.flutter.dev/ui/adaptive-responsive * https://docs.flutter.dev/ui/adaptive-responsive/large-screens ===== Cross-platform tools ===== ==== Flutter ==== [[/informatique/flutter|Flutter]] ==== Ionic Framework ==== Free and open source, Ionic offers a library of mobile-optimized HTML, CSS and JS CSS components, gestures, and tools for building highly interactive apps. Built with Sass and optimized for AngularJS. Just drop it in your code to get going, and push through Cordova or Phonegap when it's ready. Develop once, deploy everywhere. * http://ionicframework.com/ * https://ionic.io/ ==== Cordova ==== http://cordova.apache.org/ Cordova Plugins: https://cordova.apache.org/plugins/ === Tools === [[https://github.com/xseignard/cordovarduino|Cordovarduino]] is a Cordova/Phonegap plugin that enable you to use serial communication from an Android device to a serial over USB capable one. [[http://www.developpez.com/actu/95612/Les-outils-Cordova-debarquent-sur-Visual-Studio-Code-sous-forme-d-extension-pour-faciliter-le-developpement-d-applications-mobiles-cross-platform/|Les outils Cordova débarquent sur Visual Studio Code sous forme d'extension]] Pour faciliter le développement d'applications mobiles cross-platform. $ sudo npm install -g cordova ... /usr/bin/cordova -> /usr/lib/node_modules/cordova/bin/cordova cordova@6.3.1 /usr/lib/node_modules/cordova ├── underscore@1.7.0 ├── q@1.0.1 ├── nopt@3.0.1 (abbrev@1.0.9) ├── cordova-common@1.4.1 (cordova-registry-mapper@1.1.15, ansi@0.3.1, semver@5.3.0, osenv@0.1.3, underscore@1.8.3, q@1.4.1, unorm@1.4.1, shelljs@0.5.3, glob@5.0.15, bplist-parser@0.1.1, elementtree@0.1.6, minimatch@3.0.3, plist@1.2.0) ├── insight@0.8.3 (object-assign@4.1.0, node-uuid@1.4.7, async@1.5.2, tough-cookie@2.3.1, lodash.debounce@3.1.1, chalk@1.1.3, os-name@1.0.3, configstore@1.4.0, inquirer@0.10.1, request@2.74.0) ├── update-notifier@0.5.0 (is-npm@1.0.0, string-length@1.0.1, semver-diff@2.1.0, chalk@1.1.3, configstore@1.4.0, repeating@1.1.3, latest-version@1.0.1) └── cordova-lib@6.3.1 (valid-identifier@0.0.1, opener@1.4.1, cordova-registry-mapper@1.1.15, properties-parser@0.2.3, unorm@1.3.3, shelljs@0.3.0, semver@4.3.6, nopt@3.0.6, glob@5.0.15, dep-graph@1.1.0, elementtree@0.1.6, tar@1.0.2, xcode@0.8.9, cordova-fetch@1.0.1, aliasify@1.9.0, init-package-json@1.9.4, plist@1.2.0, request@2.47.0, cordova-serve@1.0.0, cordova-app-hello-world@3.10.0, cordova-js@4.1.4, npm@2.15.10) == Windows 7 == [[https://blogs.msdn.microsoft.com/visualstudio/2014/08/04/apache-cordova-tooling-update-with-support-for-windows-7/|Apache Cordova Tooling Update with Support for Windows 7]] Windows 7 version of PhoneGap/Cordova - Intel has created a Windows 7 port of PhoneGap (AKA Cordova). You can grab the bits at the Github project: * https://www.raymondcamden.com/2012/07/12/Windows-7-version-of-PhoneGapCordova/ * https://github.com/otcshare/cordova-win7 * https://github.com/fabriceds/cordova-win7 * This project can be built using Visual Studio 2012. Doing so creates a Win32 program that hosts a IE-based web view and loads www/index.html inside it. The supplied cordova.win7.js file has partial support for Cordova events and API sets, and is able to interact with the hosting program (native side). ==== Phonegap ==== Adobe Phonegap est basé sur Apache Cordova et apporte de nombreux outils. http://phonegap.com/ > **PhoneGap vs. Apache Cordova** > We’re often asked “What is difference is between PhoneGap and Cordova?”. Apache Cordova was born from PhoneGap. In 2011, the PhoneGap codebase was donated to Apache for incubation, and the project has continued to thrive ever since. Apache Cordova is still the engine that powers PhoneGap, much like WebKit is the engine that powers many modern web browsers. > It’s the robust tools that sets PhoneGap apart, including: our command line interface, the PhoneGap Desktop app, the PhoneGap Developer app, and PhoneGap Build. ==== Xamarin ==== https://www.xamarin.com .Net ==== Codename One ==== https://www.codenameone.com Avec service en ligne pour compilation Mac iOS (payant). ==== WebDGap ==== PhoneGap for your Desktop applications. Convert any web application to a native Windows/Linux/Mac/Chrome application. * https://mikethedj4.github.io/WebDGap/ * https://github.com/mikethedj4/WebDGap ==== Electron ==== Build cross platform desktop apps with JavaScript, HTML, and CSS. With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. https://electron.atom.io/ ==== Expo ==== Expo is a free and open source toolchain built around React Native to help you build native iOS and Android projects using JavaScript and React. * Build native binaries with our build service. https://expo.io/ ==== Fabric.io ==== https://get.fabric.io par Twitter. ===== Online builder ===== ==== Builder seul ==== * https://codemagic.io ==== No code ==== * https://fr.goodbarber.com/ ===== The iOS Problem ===== * [[https://www.baeldung.com/linux/xcode|Running Xcode in Linux]] with [[https://www.darlinghq.org/|Darling]] (//Darwin/macOS emulation layer for Linux//) or macOS Virtual Machine XCode as online services: * [[https://www.macincloud.com/pages/xcode.html|MacInCloud]] Online Build services: * https://codemagic.io/pricing/ * La formule gratuite fait bien le job pour publier sur l'App Store 🌈 * pour qlqs p'tites erreurs de prise en main voir [[https://framagit.org/Cyrille37/wp-did-you-know-flutter/-/issues/13|ce ticket]] Bare Metal Mac * https://www.macstadium.com/pricing * https://www.scaleway.com/en/apple-mac-mini/ ==== App Store ==== https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications Visuels obligatoires pour l'App Store : iPhone 6.5" Display * 1284 x 2778 pixels (portrait) * 2778 x 1284 pixels (landscape) * 1242 x 2688 pixels (portrait) * 2688 x 1242 pixels (landscape) iPad Pro 13" Display * 2064 x 2752 pixels (portrait) * 2752 x 2064 pixels (landscape) * 2048 x 2732 pixels (portrait) * 2732 x 2048 pixels (landscape)