Interviuri cu dezvoltatori ExLibris
Makradar De Tehnologie / / December 19, 2019
Bookplate - bookplate cu numele sau logo-ul proprietarului cărții și informații despre componența bibliotecii sale. Un astfel de nume interesant pentru aplicarea sa dat echipa tanara de dezvoltatori de la Rostov-pe-Don. Programul ExLibris este cititor de cărți în format EPUB, pentru a încărca lucrări de funcții prin intermediul iTunes, prin e-mail sau prin intermediul site-brazuer Safari.
Aplicația include directorul în care domeniul public sunt opere clasice ale literaturii ruse și internaționale. Zona echipate cu marcaje și note, note de subsol, cuprins pentru a naviga prin meniul de lectură. Asigurați-lectură convenabil conceput pentru a regla luminozitatea, scheme de culori, set de fonturi și orientarea paginii se schimbă în funcție de poziția dispozitivului.
Ieri, în AppStore un nou ExLibris versiune. Împreună cu unele corecturi, posibilitatea de a cititorului opțiune de dezactivare a textului înrădăcinat Antialias și despărțirea în silabe pentru limba rusă și engleză limbi. Profitând de această ocazie, am decis să punem câteva întrebări creatorii ExLibris Mikhail Lyubimov și Aleksei Grebenets.
Michael, Alex, ce te aduce la platforma Mac, care produsele Apple nu le utilizați în viața de zi cu zi și de muncă?
Michael:
Pe Mac OS, am venit destul de bogat ornamentat pentru un programator de. La început, instrumentele mele au fost Windows și platforma .NET, apoi Perl și Linux. În urmă cu doi ani, directorul companiei noastre „Punctul de fierbere“, a sugerat că am încerca să scrie aplicații pentru noua platformă la iPhoneOS timp. Bineînțeles că nu am renunțat :). De atunci, mai multe lucruri interesante nu am putut găsi direcția. Ca și mașini de lucru la domiciliu folosesc MacBook, care este suficient pentru nevoile mele. De la dispozitive mobile - probabil întreaga gamă de iPhone și iPad Wi-Fi.
Alex:
Am pe această temă nu are nimic de spus. Am început să se dezvolte mai mult decât întâmplător =)
Când iPad a fost în mâinile mele, am fost foarte impresionat au trei aplicatii: Vremea HD, Alice si de iBooks curs. Care sunt cele mai interesante programe din care iPad poate „bate“ orice dispozitiv de acest gen, la fel Galaxy Tab de la Samsung?
Michael:
Deși nu știu cum să joace un instrument muzical, prima aplicație iPad, care a lovit mine a fost Magic Piano - punerea în aplicare foarte interesantă a pianului, dezvăluind pe deplin capacitățile multitouch dispozitiv. Jocuri - este supărat păsări și plante vs. Zombi. În ceea ce privește iPad c comparație cu dimensiunea altor dispozitive similare, cred că acest lucru nu este destul de corect. Fiecare dintre aceste dispozitive are propria nișă pe piață.
Alex:
Într-adevăr greu să vorbesc despre asta fără să își imagineze cum ar arata Galaxy Tab. În general, un efect puternic a fost doar pe faptul că acesta este „balshoy iPhone.“
Cum a aparut ideea de a dezvolta aplicatii pentru AppStore? Care este rolul dumneavoastră în cadrul proiectului și care a fost implicat în ea în afară de tine?
Michael:
Având în vedere că proiectul doar doi dintre noi, (și chiar doi programatori) nu distribuție rigidă a rolurilor. Există sarcini pe care un profil pentru mine, este pentru Alexis. Toate lucrările de pe partea de server de aplicație a făcut programatori web „punctul de fierbere.“ Cu un design ne-a ajutat Roman Martirosyan, pentru care mulți datorită lui! Ideea cu numele de aplicare ExLibris a venit doar de la el.
Aveți aplicații suplimentare, în plus față de ExLibris, deja lansat pentru dispozitive mobile?
Michael:
Din cele deja emise cel mai notabil a fost prima mea aplicație iProbkiCare, pentru o lungă perioadă de timp păstrate în App Rusă AppStore și o serie de cereri de proiecte literare „Etnogeneza“ cea mai recentă versiune pe care am produs deja, împreună cu Alexei.
Cum a fost dificil pentru a începe cu obiectivul C? Ce probleme ai întâmpinat în timpul fazei de dezvoltare?
Michael:
Probleme speciale la întâlnirea cu obiectivul C nu a fost. Limbajul este destul de simplu să cunoască elementele de bază ale C și înțelegere a principiilor OOP. Dificultățile apar atunci când adâncitura în cadrele de funcționare, ca parte a iPhone SDK. Așa cum se întâmplă de obicei, 80% din proiect se desfășoară în 20% din timp. Restul timpului - războiul pentru optimizarea codului de control al erorilor de componente subordonate. dificultăți particulare pot fi, de asemenea, chemat să sprijine atât platformele iPhone și iPad, în special, cele mai slabe dispozitive - iPhone 3G.
Alex:
Însăși limbajul Objective-C este foarte simplu în comparație cu C și C ++. Toate informațiile referitoare la diferențele dintre C și Objective-C este plasat într-o pagină wiki, în care nici măcar nu trebuie să fie familiarizați cu C, deoarece cele mai multe dintre caracteristicile de C, nu puteți utiliza la toate. În Obiectiv-C nu are astfel de probleme cu managementul memoriei în C și nu există dificultăți cu șabloane în C ++. În general, este o limbă modernă bună, pe care o puteți pune în condiții de siguranță pe picior de egalitate cu limbi, cum ar fi Java sau C #.
Există, de asemenea, unele dificultăți, acestea se referă în principal la biblioteca standard. Este documentația destul de rău (de exemplu, unele funcții pot returna doar un cod de eroare, fără a spune nimic despre cauza, descrierea unei astfel de eroare nu este de multe ori imposibil de a găsi orice documentație, nici măcar în Google), de multe ori non-evidente nume de metode (de exemplu, pentru a găsi apariția unui subșir în șir, veți avea nevoie de Metoda de utilizare rangeOfString:, deși numele conține cuvântul descoperire ar fi obișnuiți să), dificultatea de a modifica comportamentul implicit al unor componente (unele lucruri care par să fi făcut doar oferi o mulțime de dureri de cap - cum ar fi o mulțime de efort cheltuiți dacă încercați să taie în jurul UITextView componentei cadru).
Cum a apărut ideea de a crea un cititor de destul de umplut o nișă în AppStore? Este posibil să se profite de aplicarea acestui tip sau aceasta este doar o mostră din propriile sale forțe și capacități?
Michael:
Când a devenit clar că evoluția sala de lectură pentru Etnogeneza odihnit în formatul original al cărții, am început să aleagă din deja disponibile și majoritatea formatelor comune. Fiecare dintre ele a avut dezavantaje și limitările sale, asa ca alege EPUB, cel mai deschis și puternic, în opinia noastră, în ceea ce privește caracteristicile de formatare ale cărții.
Cititorii în AppStore este de fapt, nu atât de mult. Și de înaltă calitate generală degete cu adevărat destul de o singură mână. Am decis să încerce să umple lista cererii dumneavoastră. Desigur, în plus față de versiunea gratuită a sălii de lectură, suntem interesați să problema și să plătească (sau cu conținut plătit) aplicații bazate pe motorul stabilit. Pentru a face acest lucru, cautam parteneri care doresc să-și vândă conținutul lor (cărți, reviste sau orice format similar pentru publicare).
Alex:
Ideea a fost întotdeauna. Primul cititor a fost implementat în aplicația „Maroussia“ citi împărțit în fișiere text simplu și doar capabil să se deplaseze cuprinsului (acest lucru a fost mult timp înainte de iBooks). Treptat, acest cititor a fost îmbunătățit, până la o zi sa decis să încerce să meargă pe ePub ecran. Am încercat.
Veniturile din această aplicație posibil, desigur, motor, cât de mult este necesar pentru citirea cărților. Reader - este doar o oportunitate de a sparge în motor și-l pregătească pentru integrarea în alte aplicații.
Acesta este motivul pentru care cititorul este liber. Acesta este doar un site de test =)
Aplicații ale altor dezvoltatori au studiat mult timp și greu. Ne-am uitat la aceste funcții, care au fost în fiecare dintre ele (strofă, amazon, Booq, iBooks, Kobo, freebooks, i2reader și altele), sa uitat la interfețele și comentarii. În unele moduri ExLibris - este compilarea tuturor cele mai utile celorlalte e-cititori =)
Pe ce urma să se concentreze în crearea ExLibris?
Michael:
Principalul obiectiv, desigur, axat pe gradul de utilizare de aplicare, stabilitatea și formatul maxim acceptat. Acum, atunci când ea este a doua versiune a aplicației, vom trata întotdeauna pe toți cei care vin la noi rapoarte despre problemele întâmpinate în aplicarea și utilizator comentarii. Noua versiune va fi în măsură să ne scrie feedback-ul din cadrul aplicației, și trimite cartea, care, în opinia cititorului are probleme de afișare în ExLibris. Astfel, ne propunem să îmbunătățim produsul bazat pe opiniile utilizatorilor. Și, bineînțeles, în cele mai dens imediat planuri de a face proiectarea și gradul de utilizare a interfeței.
Alex:
Au fost 3 probleme majore - parsarea epub'a (principalele dificultăți asociate cu parsare css), afișarea de text pe un plan (aici complexitatea asociată cu defalcarea elementelor pe pagină) și memorie. memoria aplicație nu este întotdeauna suficientă, și este teribil încetinit procesul de dezvoltare.
Cu parsare epub'a complicat - faptul că structura fișierului ePub standard, ca atare, nu există. Există, ca cele mai multe fac, dar cu toate acestea, puteți găsi de multe ori cărți în cazul în care stilurile css nu se află într-un fișier separat și introdus în titlul fiecărei pagini XHTML, sau cărți care nu au un tabel de fișier cuprins, la toate, sau o carte în care tot textul (foarte mare!) înveli un fișier.
Așa că a trebuit să compromis, de stabilire a unei liste de cazuri în care cititorul pur și simplu nu se va deschide cărțile. Și, desigur, am avut probleme cu parsing css - suporta toate css standard - aceasta este o sarcină foarte dificilă, a fost necesar pentru a alege doar un subset mic de stiluri.
Afișarea textului pe planul cauzat, de asemenea, dificultăți. Adevărul este că singura bibliotecă pentru desen de text CoreText în primul rând, destul de buggy, și, în al doilea rând, nu permite o mulțime de lucruri necesare (de exemplu, nu permite indentare la stânga de dreapta margine). Prin urmare, în ciuda faptului că în urma CoreText au stat la baza cererii, atunci multe dintre funcțiile sale au fost înlocuite cu mai stabilă și-a extins funcționalitatea.
Probleme cu lipsa de memorie, probabil, a început chiar înainte de prima pornire (sau mai degrabă prima rulare pe dispozitiv a eșuat tocmai din cauza lipsei de memorie). Deosebit de lucruri îngrozitoare pe iPhone 3G. Este imposibil de a păstra în memorie este împărțită în pagini întreaga carte (aruncat totul, dar capitolul curent), este imposibil de a păstra în memorie textul capitolelor (ceea ce înseamnă că este mai dificil de a căuta). Trebuie să ne salveze pe tot. Pe texturi pe informații text pe controlori auxiliare.
În acest stadiu, este cu probleme de memorie sunt cele mai importante.
Cum 3d efect pentru pagina de cotitură a fost pusă în aplicare?
Alex:
Punct de vedere tehnic, este într-adevăr efectul 3D este implementat folosind OpenGL. Cu toate acestea, dacă te uiți atent, îți vei da seama că nu există = 3d) De fapt, pagina pur și simplu îndoit atât de ...
Michael:
Interesant, majoritatea celor care încearcă să pună în aplicare un efect similar în OpenGL începe să-l pună în aplicare în „3D complet». Ne-am dus în altă parte și-au făcut fără el. În cazul în care la prima vedere pare natural pentru a obține efectul, am realizat sarcina și nu va strica explicația magică pentru punerea sa în aplicare tehnică :)
Există planuri pentru piața AppStore, există deja idei pentru cucerirea lui? :)
Michael:
Planurile sunt cu siguranță. În primul rând, această adăugire cititorul nostru o bibliotecă interesantă de cărți și publicații care dezvăluie pe deplin potențialul. Există, de asemenea, aproape o aplicație finită pentru stațiile de distribuție de evaluare Geosocial. Este programat pentru viitorul apropiat.
Alex:
Planuri de a finaliza. Este păcat că, în ziua doar 24 de ore.
Vă mulțumim Michael și Alex pentru interesante și foarte informativ răspunsuri la întrebările noastre. Le dorim noroc și idei noi!
pagina de aplicare ExLibris pentru iPad și iPhone (gratuit)
pagina de start Proiectul ExLibris.