Au cours des 3 dernières années, j'ai construit 2 clients intelligents distincts connectés occasionnellement.
J'ai trouvé que l'ajout de «occasionnellement connecté» multiplie la complexité d'une application (et le temps de développement) d'environ 3 ou 4 fois. C'est donc une fonctionnalité très coûteuse à ajouter.
Mais il existe des cas d'affaires solides pour ces applications, comme je suis sûr qu'il existe pour de nombreux systèmes. L'un était destiné aux ingénieurs sur la route qui se rendent souvent sur les sites des clients où (pour une raison quelconque, la sécurité étant parfois une raison), leur connexion sans fil ne fonctionne pas. L'utilisateur veut toujours continuer à utiliser le système comme s'il était connecté, puis le faire se synchroniser sans effort (de leur côté) une fois qu'une connexion est disponible.
La deuxième application sera utilisée sur un réseau local ou n'aura aucune connexion, jusqu'à ce que l'utilisateur retourne «au bureau». D'un point de vue personnel, j'aime l'idée qu'avec ou sans connexion active, je peux continuer à «faire mon travail», en effet même si la connexion disparaît à mi-chemin d'une activité, tout fonctionne toujours et je ne perdrai pas aucune de mes données. Achever ce scénario connecté -> déconnecté -> connecté etc. nécessite beaucoup de travail et de tests. Il doit donc y avoir une très bonne analyse de rentabilisation.
Enfin, je pense que nous ne pourrons jamais supposer qu'il y aura toujours une connexion Internet. Qu'il s'agisse d'une panne de matériel ou de fournisseur de services ou de certaines connexions de blocage de sécurité active, vos utilisateurs seront en mode déconnecté à un moment donné.
+1: Tout dépend de l'application. –