Hacker News Reader

Capture d'écran du lecteur de flux "Hacker News"

Résumé

Hacker News Reader: un incroyable lecteur optimisé pour Hacker News.

Ce que nous aimons ?

Une expérience de lecture belle et hautement optimisée pour Hacker News. Cette application fonctionne bien et fonctionne bien sur les mobiles, les tablettes et les ordinateurs. Le processus est rapide, et le test sur mobile présente des transitions très fluides. Il utilise très bien theme-color pour l'intégration à Android et peut être installé, car il utilise le fichier manifeste d'application Web. Une fois installée, elle ressemble à une application de lecteur de flux HN native.

Améliorations possibles

L'application fait très bien de nombreuses choses. Elle se charge rapidement et est rapide et fluide à utiliser. Si l'application pouvait faire une seule chose, ce serait d'ajouter la prise en charge des expériences hors connexion. Il peut s'agir d'une simple page d'erreur ou d'une vue plus complexe du contenu mis en cache.

Questions à Dharmesh Patel

Pourquoi le Web ?

Je préfère utiliser la technologie avec laquelle je suis le plus à l'aise. J'ai créé ma première page web bien avant d'écrire « hello world » en c++.

Le Web ouvert est la seule plate-forme qui me permet d'atteindre toutes sortes d'utilisateurs. Je peux facilement développer et déployer de nouvelles fonctionnalités et corrections pour mon application sans dépendre d'un tiers. Cela me permet de déployer de nouvelles fonctionnalités et des corrections de bugs à tout moment.

L'utilisateur peut essayer mon application sans la télécharger et l'utiliser sur différentes plates-formes. À ce jour, mon application fonctionne sur les derniers navigateurs compatibles avec HTML5, y compris, mais sans s'y limiter, Firefox OS, Windows Phone, BlackBerry, iOS et Android. Elle peut être téléchargée sur différentes plates-formes de téléchargement d'applications. Cette application est également disponible sur le Chrome Web Store. Je suis un seul développeur et je travaille sur ces quelques heures par semaine. Je ne pense pas qu’une autre technologie m’aurait permis de prendre en charge différentes plateformes.

Qu'est-ce qui a vraiment bien fonctionné lors du développement ?

J'ai été surpris de la compatibilité de tous les derniers navigateurs avec les principales fonctionnalités HTML5. J'ai commencé mon application Web en tant que prototype pour voir ce que je pouvais créer à l'aide d'Open Web (HTML5, CSS, JavaScript). Je n'ai testé mon application que dans le navigateur iOS, Safari et Android, pendant le développement. Elle fonctionnait avec Firefox et avec peu de modifications, j'ai pu prendre en charge IE mobile.

Comme tout le monde, je pensais qu'il n'était pas possible de 60 FPS sur une application Web mobile, en particulier les gestes. J'ai pu implémenter le mode Pull pour actualiser et balayer l'écran pour revenir en arrière avec peu d'apprentissage, et cela a pu fonctionner sur tous les principaux navigateurs. Grâce à ces connaissances, j'ai pu implémenter la navigation dans les stories de type "application Web Flipboard" en quelques heures.

Si vous pouviez avoir une API pour améliorer votre application, quelle serait-elle ?

Intent: doit pouvoir lancer l'intent de partage natif Android ou le partage iOS à partir de mon application Web. Cela permettra à l'utilisateur de choisir le service de son choix plutôt que les options limitées de mon application.

Stockage local persistant: l'utilisateur souhaite bénéficier d'une meilleure compatibilité avec le stockage local. 5 Mo/2,5 Mo ne suffisent pas. De plus, il n'y a aucun moyen de déterminer l'espace disponible. Mon application peut gérer l'espace de stockage correctement si je connais l'espace restant.

Application Web native/autonome: meilleure option pour déployer/installer mon application Web sur iOS, Android et WP en tant qu'application autonome. J'utilise Cordova, mais il est difficile d'installer la dernière version. Chrome sur Android évolue dans la bonne direction, mais iOS et Windows Phone ne prennent pas suffisamment en charge l'application autonome.