Les entretiens avec les développeurs EXLIBRIS
Makradar De La Technologie / / December 19, 2019
Bookplate - libris avec le nom ou le logo du propriétaire du livre et des informations sur la composition de sa bibliothèque. Un tel nom intéressant à son application a donné la jeune équipe de développeurs de Rostov-on-Don. programme EXLIBRIS est lecteur de livres au format EPUB pour télécharger des œuvres de fonction via iTunes, par e-mail ou par le Web Safari-brazuer.
L'application inclut le répertoire dans lequel le domaine public sont des œuvres classiques de la littérature russe et internationale. Coin lecture équipé de signets et notes, notes, table des matières pour naviguer dans le menu. Faites de la lecture conçu pratique pour régler la luminosité, de couleurs, ensemble font et orientation de la page de changement en fonction de la position du dispositif.
Hier dans l'AppStore une nouvelle version. EXLIBRIS Avec quelques corrections, la possibilité de l'option enracinée lecteur désactiver le texte anti-aliasé et pour les langues césures russe et en anglais. Profitant de cette occasion, nous avons décidé de poser quelques questions aux créateurs EXLIBRIS Mikhail Lioubimov et Aleksei Grebenets.
Michael, Alex, ce qui vous amène à la plate-forme Mac, qui les produits Apple utilisez-vous dans la vie quotidienne et du travail?
Michael:
Sous Mac OS, je suis venu assez fleuri pour un programmeur par. Au début, mes outils sont Windows et la plate-forme .NET, puis Perl et Linux. Il y a deux ans, le directeur de notre société « Boiling Point » a suggéré que j'essaie d'écrire des applications pour la nouvelle plate-forme au iPhoneOS temps. Bien entendu, je ne l'ai pas perdu :). Depuis lors, les choses les plus intéressantes je ne pouvais pas trouver la direction. Comme le travail et les machines utilisent la maison le MacBook, ce qui est suffisant pour mes besoins. Des appareils mobiles - peut-être toute la gamme de l'iPhone et l'iPad Wi-Fi.
Alex:
Je sur cette question n'a rien à dire. J'ai commencé à développer plus par hasard =)
Lorsque l'iPad était dans mes mains, j'ai été très impressionné ont trois applications: Météo HD, Alice et des iBooks de cours. Quels sont les programmes les plus intéressants sur lesquels l'iPad peut « battre » tout dispositif de ce genre, même Galaxy Tab de Samsung?
Michael:
Bien que je ne sais pas comment jouer un instrument de musique, la première application iPad qui m'a frappé était Piano Magic - mise en œuvre très intéressante du piano, révélant pleinement les capacités multitouch appareil. Jeux - est oiseaux et de plantes en colère contre Zombies. En ce qui concerne la comparaison de c iPad à la taille des autres appareils similaires, je pense que ce n'est pas tout à fait correct. Chacun de ces appareils a son propre créneau sur le marché.
Alex:
Vraiment difficile d'en parler sans imaginer ressemble Galaxy Tab. En général, un fort effet est seulement sur le fait qu'il est « balshoy iPhone. »
Comment l'idée de développer des applications pour l'AppStore? Quel est votre rôle dans le projet et qui a participé à ce que vous en plus?
Michael:
Étant donné que le projet que deux d'entre nous, (et même deux programmeurs) aucune distribution rigide des rôles. Il y a des tâches qu'un profil pour moi, est pour Alexis. Tous les travaux sur le côté serveur de l'application fait les programmeurs web « le point d'ébullition. » Avec un design aidé nous Roman Martirosyan, dont un grand merci à lui! L'idée de nom de l'application EXLIBRIS venait juste de lui.
Avez-vous d'autres applications en plus de ExLibris, déjà sorti pour les appareils mobiles?
Michael:
Parmi les déjà émis le plus notable était ma première application iProbkiCe qui pendant longtemps gardé dans l'App AppleStore russe et une série de demandes de projets littéraires « Ethnogenèse » la dernière version dont nous avons déjà produit, en collaboration avec Alexei.
Comment il était difficile de commencer avec Objective C? Quels problèmes avez-vous rencontré lors de la phase de développement?
Michael:
Problèmes particuliers en cas de rencontre avec Objective C n'a pas été. La langue est assez simple pour connaître les bases de C et la compréhension des principes de la POO. Les difficultés apparaissent lorsque l'évidement dans les cadres en cours d'exécution dans le cadre de l'iPhone SDK. Comme il se produit généralement 80% du projet est réalisé dans 20% du temps. Le reste du temps - la guerre pour l'optimisation de code et le contrôle des bogues composants subordonnés. Des difficultés particulières peuvent également être appelés à soutenir les plates-formes iPhone et iPad, en particulier les plus faibles appareils - iPhone 3G.
Alex:
Le langage Objective-C est très simple par rapport à C et C ++. Toutes les informations relatives aux différences entre C et Objective-C est placé dans une page wiki, dans lequel vous ne même pas besoin d'être familier avec C, puisque la plupart des fonctionnalités de C, vous ne pouvez pas utiliser du tout. Dans Objective-C n'a pas ces problèmes avec la gestion de la mémoire en C et il n'y a pas de difficultés avec les modèles en C ++. En général, il est un bon langage moderne, vous pouvez sans risque mettre sur un pied d'égalité avec des langages tels que Java ou C #.
Il y a aussi quelques difficultés, ils se rapportent principalement à la bibliothèque standard. Il est documentation assez mauvais (par exemple, certaines fonctions ne peut renvoyer un code d'erreur, sans dire quoi que ce soit au sujet de sa cause, et la description d'une telle erreur est souvent impossible de trouver toute la documentation, ni même dans google), souvent des noms de méthode non évidente (par exemple, pour trouver l'occurrence d'une sous-chaîne dans la chaîne, vous aurez besoin méthode utilisation rangeOfString:, bien que le nom contient le mot trouver serait habitué à), la difficulté à modifier le comportement par défaut de certains composants (dont certains les choses qui semblent avoir fait juste fournir beaucoup de maux de tête - comme beaucoup d'effort que vous passez si vous essayez de couper autour du composant UITextView frame).
Comment l'idée de créer un lecteur pour tout à fait rempli une niche dans l'AppStore? Est-il possible de tirer profit de l'application de ce type ou c'est juste un échantillon de ses propres forces et capacités?
Michael:
Quand il est devenu clair que l'évolution de la salle de lecture pour ethnogenèse reposait dans le format original du livre, j'ai commencé à choisir et déjà le plus des formats courants. Chacun d'eux avait ses inconvénients et limitations, afin de choisir EPUB, le plus ouvert et puissant, à notre avis, en termes de fonctions de formatage du livre.
Les lecteurs dans l'AppStore est en fait pas tant. Et pour les doigts vraiment assez général de haute qualité d'une main. Nous avons décidé d'essayer de remplir la liste de votre application. Bien sûr, en plus de la version gratuite de la salle de lecture, nous sommes intéressés à émettre et à payer (ou contenu payant) des applications basées sur le moteur mis en place. Pour ce faire, nous recherchons des partenaires qui veulent vendre leur contenu (livres, magazines, ou tout autre format similaire pour la publication).
Alex:
L'idée a toujours été. Le premier lecteur a été mis en œuvre dans l'application « Maroussia » READ divisé en fichiers texte et seulement capable de déplacer la table des matières (ce qui était bien avant ibooks). Peu à peu, ce lecteur a été amélioré, jusqu'à ce qu'un jour, il a été décidé d'essayer d'aller sur epub d'affichage. Nous avons essayé.
Le chiffre d'affaires cette application bien sûr possible, le moteur le plus nécessaire pour la lecture de livres. Reader - c'est juste une occasion de briser dans le moteur et le préparer pour l'intégration dans d'autres applications.
Voilà pourquoi le lecteur est libre. Ceci est juste un site de test =)
Les applications d'autres développeurs ont étudié longuement. Nous avons examiné ces fonctions, qui ont été dans chacun d'eux (strophe, amazone, booq, ibooks, kobo, freebooks, i2reader et d'autres), penchées sur les interfaces et commentaires. D'une certaine façon EXLIBRIS - est la compilation de tous les plus utiles des autres e-readers =)
En ce qui allait se concentrer dans la création EXLIBRIS?
Michael:
L'objectif principal, bien sûr, axé sur la facilité d'utilisation de l'application, la stabilité et au maximum format pris en charge. Maintenant, quand elle est la deuxième version de l'application, nous traitons toujours tous ceux qui viennent nous rapporte des problèmes dans l'application et avis des utilisateurs. La nouvelle version sera en mesure de nous écrire des commentaires depuis l'application, et d'envoyer le livre, qui, de l'avis du lecteur a des problèmes d'affichage dans EXLIBRIS. Ainsi, nous prévoyons d'améliorer le produit en fonction des opinions des utilisateurs. Et bien sûr, dans les plus densément plans immédiats pour faire la conception et la facilité d'utilisation de l'interface.
Alex:
Il y avait 3 problèmes majeurs - epub'a l'analyse syntaxique (les principales difficultés liées à l'analyse syntaxique) css, affichage du texte sur un plan (ici la complexité associée à la répartition des éléments sur la page) et de la mémoire. la mémoire d'application ne suffit pas toujours, et il est terriblement ralenti le processus de développement.
Avec l'analyse compliquée de epub'a - le fait que la structure du fichier standard epub en tant que tel n'existe pas. Il est, comme la plupart le font, mais quand même, vous pouvez trouver souvent des livres où les styles CSS ne sont pas dans un fichier séparé et inséré dans le le titre de chaque page xhtml, ou des livres qui n'ont pas une table de fichier de contenu du tout, ou un livre dans lequel tout le texte (très grand!) borda un fichier.
Donc, il fallait compromis, établir une liste des cas où le lecteur ne sera pas simplement ouvrir les livres. Et bien sûr, nous avons eu des problèmes avec l'analyse syntaxique css - soutenir tous les standards CSS - il est une tâche très difficile, il était nécessaire de choisir seulement un petit sous-ensemble de styles.
Affichage du texte sur le plan a également causé des difficultés. Le fait est que la seule bibliothèque pour dessiner du texte CoreText d'abord, assez bogué, et, d'autre part, elle ne permet pas beaucoup de choses nécessaires (par exemple, ne permet pas l'empreinte laissée par le droit bord). Par conséquent, en dépit du fait qu'en conséquence CoreText formé la base de l'application, plusieurs de ses fonctions ont été remplacées par leur plus stable et a des fonctionnalités étendues.
Les problèmes avec le manque de mémoire a probablement commencé avant même le premier démarrage (ou plutôt la première course sur le dispositif a échoué précisément à cause du manque de mémoire). les choses particulièrement terrible sur l'iPhone 3G. Il est impossible de garder en mémoire est divisé en pages le livre entier (tout jeté, mais le chapitre en cours), il est impossible de garder en mémoire le texte des chapitres (ce qui signifie qu'il est plus difficile de chercher). Nous devons économiser sur tout. Sur les textures sur des informations textuelles sur les contrôleurs auxiliaires.
A ce stade, il est des problèmes de mémoire sont les plus importants.
Comment l'effet 3D pour tourner la page a été mis en œuvre?
Alex:
Techniquement, il est vraiment l'effet 3D est mis en œuvre en utilisant openGL. Toutefois, si vous regardez attentivement, vous vous rendrez compte qu'il n'y a pas = 3d) En fait, la page simplement pliée de façon ...
Michael:
Fait intéressant, la majorité de ceux qui tentent de mettre en œuvre un effet similaire en OpenGL commencent à mettre en œuvre dans « full 3D». Nous sommes allés dans l'autre sens et fait sans lui. Si, à première vue, il semble naturel pour obtenir l'effet, nous avons accompli la tâche et ne se gâtent pas l'explication magique pour sa mise en œuvre technique :)
Y at-il d'autres plans pour le marché AppleStore, il y a déjà des idées pour sa conquête? :)
Michael:
Des plans sont certainement. En premier lieu, cet ajout à notre lecteur une intéressante bibliothèque de livres et de publications qui révèlent pleinement son potentiel. Il y a aussi une application presque finie pour de nouvelles stations-service d'évaluation géosocial. Il est prévu pour l'avenir proche.
Alex:
compléter les plans. Il est dommage que le jour seulement 24 heures.
Merci Michael et Alex pour les réponses intéressantes et très instructives à nos questions. Nous leur souhaitons bonne chance et de nouvelles idées!
page de l'application EXLIBRIS pour iPad et iPhone (gratuit)
Page d'accueil projet EXLIBRIS.