
Il reste moins d'une semaine avant la conférence Apple
WWDC , voyons quelles sont les attentes de la communauté des développeurs et quels événements se sont produits dans le monde du développement iOS au cours des deux dernières semaines.
Nouvelles de l'industrie
- Intitulé "Le nôtre à la WWDC": 8 étudiants russes sont invités à la conférence. Ils pourront assister à l'événement gratuitement (rappelons par ailleurs que le billet, le vol et l'hébergement coûtent des finances tangibles, il faut aussi participer à la loterie pour le billet) et prendre une photo avec Tim Cook.
- Apple alimente l'intérêt public et crée un fil d'actualité d'ici le 3 juin. Par exemple, l'iPod Touch a été mis à jour pour la première fois en quatre ans, alors que la conception n'a pas changé, fondamentalement, seul le processeur et le prix de l'appareil ont changé - la version avec un corps rose avec 32 Go à bord en Russie peut être achetée pour 18999 roubles.
En tant que développeurs mobiles, devez-vous prendre en charge l'iPod Touch pour leurs applications? Testez-vous sur ce type d'appareil? À la fin de l'article se trouve une enquête. - MacBook Pro a également rattrapé la mise à jour . Certes, encore une fois, seul le processeur s'est amélioré, et encore une fois (déjà dans le troisième!) Ils ont essayé de résoudre les problèmes avec le clavier.
- Les développeurs, comme d'habitude, attendent les grandes annonces et les changements de la conférence et les partagent sur les réseaux sociaux: quelqu'un attend un cadre pour une interface utilisateur déclarative, quelqu'un est dans un langage de type Swift au lieu de JavaScriptCore, et certains sont dans Terminal et Xcode pour l'iPad :
Qu'attendez-vous de la WWDC cette année? De quoi manque le développeur iOS pour une programmation plus confortable? Partagez la douleur dans les commentaires.
Soit dit en passant, Paul Hudson, dont le tweet est donné ci-dessus, nous est bien connu: il est venu à Moscou l'année dernière pour la conférence Mobius et a expliqué comment écrire du code plus sécurisé en utilisant les protocoles, les génériques et les extensions Swift. Pendant ce temps, nous avons organisé Mobius 2019 Piter la semaine dernière - nous partagerons les détails dans un article séparé.
- Ce n'est un secret pour personne que certaines applications utilisent les fonctionnalités iOS en arrière-plan pour envoyer des données sur l'appareil et les utilisateurs. Une étude est publiée avec une liste d'entreprises dont les applications envoient des données la nuit à l'insu de l'utilisateur. Dans les commentaires, les utilisateurs de sécurité suggèrent de passer à Android.
IOS Development News
- Pour une suppression plus rapide des objets de CoreData, il est recommandé d'utiliser NSBatchDeleteRequest, mais soyez prudent avec lui si votre application a des entités et si des règles de suppression sont configurées; plusieurs types d'objets sont supprimés; un stockage non SQLite sous CoreData est utilisé. Sinon, vous pouvez obtenir des artefacts intéressants dans le stockage et des plantages lors de l'exécution. Voir Utilisation de NSBatchDeleteRequest pour supprimer des lots dans Core Data pour plus d'informations .
- En plus de CoreData, nous découvrons comment stocker correctement les images pour nos entités (par exemple, les aperçus miniatures): à côté d'autres attributs comme un champ BinaryData ou sur un système de fichiers séparément du stockage CoreData.
- Dans les entretiens techniques, j'entends souvent des candidats que vous pouvez oublier et refuser d'utiliser @autoreleasepool dans Swift. Si votre application crée soudainement des objets UIImage ou CoreData dans une boucle, il s'agit d'une fuite de mémoire potentielle, qui peut entraîner le blocage de l'application lors d'itérations importantes dans la boucle. Vous pouvez comprendre le principe de l'autorisation des pools après avoir lu l'article @autoreleasepool utilise dans 2019 Swift à https://swiftrocks.com .
- L'une des innovations les plus utiles de Swift 5.1 est la possibilité de trouver des différences entre les deux collections prêtes à l'emploi, ce qui sera sans aucun doute pratique lors de la mise à jour de la liste UITableView afin de ne pas surcharger la table entière ou d'écrire votre propre code pour rechercher des modifications entre les deux tableaux de données. Un exemple d'utilisation est ici .
- Après avoir appris à mettre à jour correctement la liste de données sans redémarrage complet dans le paragraphe précédent, vous devez être en mesure d'afficher magnifiquement les détails de l'utilisateur en cliquant sur l'élément de liste. Pour ce faire, nous traitons les transitions entre les écrans pour les cas où les animations de transition standard ne suffisent pas. Une grande série d'articles en quatre parties en parlera plus en détail.
- De nombreux développeurs novices sont repoussés par l'apprentissage du langage Swift en raison de son utilisation apparemment limitée (uniquement pour le développement iOS). Mais dernièrement, Swift a été de plus en plus utilisé pour résoudre les problèmes d'apprentissage automatique, comme en témoignent les arguments convaincants dans l'article Pourquoi Swift peut être la prochaine grande chose dans le Deep Learning .
- Il est également difficile de définir correctement les contraintes de mise en page automatique, comment décider dans quel sens tourner la flèche sur le diagramme de classes UML dans votre architecture mobile. Pour résoudre ce problème, nous apprenons à résoudre les problèmes avec les constantes sans redémarrer l'application .
- Et enfin: si vous avez déjà implémenté toutes les fonctionnalités de votre application et corrigé tous les bugs, faites attention aux problèmes d'accessibilité, cette semaine il y avait un fil sur Twitter sur ce sujet avec des conseils pratiques pour les personnes intéressées.