Cum arata dezvoltarea pentru blackberry 10, Dmitrie hectarek

În ciuda faptului că am fost norocos să lucrez cu o destul de avansat IDE, eu, uneori, uita-te la fiecare mediu de dezvoltare pentru a înțelege modul în care toate cele rele acolo, ceea ce poate fi îmbunătățit, iar cel mai important lucru pentru a înțelege ce este experiența razrabotchesky generală la cel care scrie pentru sistemul . Recent, am decis să aflu starea lucrurilor de pe stack-ul BlackBerry. în special având în vedere faptul că, recent, Q10 a fost lansat (îmi pare rău pentru acest lucru la un preț nerealist).







Limbi și tehnologii

Aici, la Android totul este clar: programele sunt scrise pe Java. Pentru iOS este, de asemenea, mai mult sau mai puțin clare: este necesar să se utilizeze Objective-C, cu toate că Xamarin oferă pentru a dezvolta aceste aplicații în Visual Studio pentru C # (Eu o fac pentru că vreau să folosesc R #, și depanare a studiourilor funcționează într-adevăr, dar este o opțiune costisitoare ). Pe platformele de nișă totul este foarte eterogen - pentru Windows Phone poate fi scris în C #, C ++ sau WinJS (mizeria infernala de HTML, CSS și JS) și pe winjs pentru WP8 ca și cum să nu scrie. Blackberry, totuși, este și mai rău. Opțiunile sunt aproximativ următoarele:

Utilizați Java, dar aceasta este doar pentru versiunile "vechi", adică nu pentru modernul BB10. Dispare imediat.

Portarea aplicațiilor Android. Mișcarea este bună, desigur, dar sunt sigur că nu este fără jamburi. În plus, nu se rostogolește pentru cei care nu au deloc aplicații.

Adaptarea aplicațiilor Adobe AIR. Aceeași situație ca și în cazul Android, și nu știu cine la ora actuală, cu excepția cazului în care Adobe folosește AIR. Ultima aplicație pe care am văzut-o pe AIR a fost "grele" TweetDeck, dar apoi sa materializat în magie ca aplicație Google Chrome, iar necesitatea versiunii Standalone a dispărut cu totul.

Cu ++. Aaaaaa! Pentru a scrie aplicații BB10 "moderne", trebuie să utilizați C ++!

Nu am nimic împotriva profesioniștilor, dar văzând că naiba sa întâmplat cu utilizarea de plusuri pentru Symbian (salut în două etape de creare de obiecte), nu am avut prea mult entuziasm. Cu toate acestea, am decis să descărc SDK-ul.

Crearea unui proiect

Este întotdeauna interesant ce oferă IDE în momentul creării proiectului. La urma urmei, pentru dispozitivele mobile trebuie să configurați cel puțin obiectivele de implementare și aceasta este încă o sarcină, chiar dacă BB10 încă nu are fragmentarea Android. Deci, hai să mergem.

Cascade - aceasta este ceea ce se numește noua interfață BB10. Următorul pas este să selectați șablonul de proiect, cu condiția să decidem să facem UI în loc să jucăm pe OpenGL:

Mai mult, toate sunt mai interesante - după generarea proiectului (a existat încă un ecran pentru nume, nu l-am adus), există o setare de megapixeli. Primul lucru pe care acest lucru îl face este să găsească dispozitivele sau simulatoarele dvs.:

Apoi vine întrebarea cum intenționați să semnați cererile. Aceasta, desigur, este o întrebare, pentru că Nu am fost înregistrată în niciun site până când nu a fost scris acest post. Ideea este că această afacere poate fi aruncată, dar am decis să privesc ... și aici este cel mai important lucru pe care toți ar trebui să îl vadă:

Dar acest lucru este foarte corect dacă ... dacă luăm în considerare modul în care se desfășoară acolo ... deși nu, nu sunt așa de răi:

Ei bine, bine, am inregistrat si BBRY (acesta este noul lor ticker, RIMM obisnuit sa fie) mi-a spus sa astept ore in acest fel.

Mă întreb de ce 2 ore să emită chei? Probabil că, în acest scop, cineva îmi dă numele în Google pentru a afla dacă am un caracter bun. Apropo, verificările de caractere încă există în viața reală, de exemplu, pentru a obține un pașaport sau drepturi britanice, un rezident trebuie să vă garanteze. Dar în acest caz este cu totul ciudat. Dă-mi cheile mele.

QNX Momentix IDE

Blackberry vine cu propriul IDE pentru dezvoltare numit Momentix IDE. Suna pur și simplu frumos. De fapt, e Eclipse cu tot ce se întâmplă. Care dintre ele? În primul rând, sistemul nu înțelege propria sintaxă:

Adunarea automată nu este suficientă pentru că arată neappetizantă și chiar frânează afacerea.







Editarea interfeței utile are loc în limba QML, care, în general, nu este clară cum să editați. Aceasta înseamnă că:

Mărturisesc: Sunt încă supărat pe faptul că utilizatorii forțelor Microsoft pentru a instala Windows 8 numai pentru a profita de rolul de Hyper-V (care, urât, dar să fie actualizate la suta, Core 4 Quad se presupune că nu se rostogolește, ai nevoie de un procesor Core i7), sub care să ruleze emulator. Glory pentru Rogum că cu Blackberry totul este mai ușor - dai doar VM sub VMWare, și asta-i tot.

Primul lucru pe care îl observați este opțiunile de pornire a sistemului de operare pentru diferite dispozitive. Faptul că toate acestea în același virtual - este convenabil, nu-mi place când fructele esenței. Ceea ce nu este foarte plăcut este prezența modului sigur, care pare să indice că "ceva poate merge prost". (Și, de fapt, în practică, sistemul meu după repornire a arătat doar o fereastră neagră fără indicii de activitate.)

Trebuie să recunosc - QNX Neutrino, tăiat sub Blackberry, arată bine:

Desigur, acest UI nu este pentru fanii Apple, ci mai degrabă pentru cei care doresc doar să facă rahat, așa că de fapt îmi place Q10 (prețul nu-i place deloc, într-adevăr).

Ei bine, totul este că, având o aplicație în Momentix IDE, puteți folosi manipularea simplă pentru ao executa în emulator. Din păcate, la primul început am ajuns numai:

La început, înainte de a adăuga cheile (care așteptau 2 ore), nimic nu a funcționat deloc, am pierdut mult timp, astfel încât totul a zburat. Dar apoi totul a început și am fost foarte bucuros să văd aplicația mea (deși plictisitoare)

Apropo, aș spune că în simulator și în QNX IDE am prins o mulțime de bug-uri, simulare o dată reinstalat complet (sfătui să nu-l reporni) și a petrecut o oră în plus sau două lucruri care pur și simplu a refuzat să lucreze în mod intuitiv.

De obicei, am prima dorință într-un proiect "plus" - de a conecta STL și Boost. Dar înainte de asta vreau să arăt cum se întâmplă totul. De exemplu, iată cum puteți crea o nouă clasă:

Adăugat de #include . compilați, ca și cum ați mâncat. Aceasta înseamnă că cel puțin STL funcționează. Adaug o metoda si aici apare ca IDE adauga la autocompletion tot ceea ce, in general, este posibil doar:

Acesta este cât de mult este necesar să-i urăști pe dezvoltatori să adauge în lista generală, în general, tot ceea ce se găsește doar la nivelul superior. Cel mai interesant este faptul că funcția mea din fișierul antet nu este listată deloc. acele prostii și nebunie. Da, că acolo, pentru câmpurile membre, nu există nici o completare automată, cu excepția acestui lucru -> dar nu merge mai departe.

Am decis să fac un buton. Deodată, la începutul intrării atributului, a apărut o compilație, deja ceva

Pentru a procesa un eveniment de buton, puteți scrie cod direct în QML. care arată non-idiomatic. Chiar și XAML nu se încadrează la acest nivel:

Bineînțeles, nu puteți pune punct de întrerupere în acest loc, deoarece acest lucru funcționează numai în fișierele de cod. Apropo, pentru momentele de întrerupere pe care nu le-am putut lovi nici măcar în marginea stângă să le pun, trebuia să urc în meniu. Doar am inceput totul sub debugger, ca ...

Ei bine, este într-adevăr atât de dificil să ajuți utilizatorul să sincronizeze totul? De ce să-mi fac griji că ultimele pachete descărcate nu se potrivesc împreună? De asemenea, este remarcabil faptul că, spre deosebire de Visual Studio (și IDE-urile cele mai sănătoase), Momentix IDE nu restaurează aspectul ferestrei de la debugging la normal după ce închideți depanarea. Ca un pește rece pe față, chesslovo.

Un alt lucru interesant este că debuggerul nu a funcționat acolo unde a fost cerut, dar a lucrat acolo unde nu a fost întrebat. dar din anumite motive a rămas în principal (), deși punctajul meu nu a fost acolo.

Da, și în ceea ce privește Boost, am găsit un proiect pe Internet. care doar porteste Boost la Blackberry, deci dacă e ceva, o poți folosi.

concluzie

Este clar că pentru a înțelege cum este bine totul, trebuie să utilizați sistemul o lună sau două. Sentimentul meu subiectiv este că totul ar putea fi mult mai rău și că trebuie să-i mulțumim lui Horn pentru ceea ce Blackberry a obținut cel puțin ceva. Cel puțin, Cascades - un sistem bun, și cred că Q10 - un dispozitiv bun.

Un alt lucru este faptul că API-ul făcut în C ++ / QML este complet neintins. De exemplu, aici este codul pentru crearea unui interfață utilizator din QML. Încercați să ghiciți ce este în el.

Deci împotriva lui BBRY există doi factori: un limbaj incomod (încă Java sau C # va fi mai confortabil), precum și un IDE incomod. Câți dezvoltatori vor dori să scrie pentru această platformă? Între timp, magazinul relativ gol de Blackberry World este rău pentru ecosistem, dar ce se întâmplă dacă este aruncat în subproiectele în stilul acelor "concursuri" pe care Microsoft le potrivește? Cu siguranță nu aș vrea asta. Este mai bine nu suficient, ci calitativ, decât 99% din gunoi.

> Pentru a folosi Eclipse pentru un C ++ și apoi pentru a vă plânge pe un C ++ - monsieu are sens în perversiuni.

Eclipse CDT pe care IDE se bazează pentru BlackBerry 10 este un instrument destul de convenabil și comun - pe care se bazează o mulțime de instrumente de dezvoltare - de la toate embedded-urile la Nvidia Nsight

Un alt lucru este faptul că sprijinul pentru specific Qt / QML aici este mai rău decât în ​​QtCreator, probabil - dar alegerea este asociată cu QNX, care se bazează pe BB10 și QNX Momentics IDE care a făcut IDE pentru BB10

Am un dispozitiv Blackberry și am promis să dezvolte un software pentru el. Dar nu a mers, pentru că totul este patetic. Ce mă așteaptă, Dmitry?

Veți fi blestemați și excomunicați din paradisul mobil! Și asamblorul cu carduri de pumn vă așteaptă!

La BlackBerry ciudat de dispozitiv - în loc de a trimite copii de producție cum ar fi Nokia, ei trimit unele modele A, B și așa mai departe, care nu ar dori un model de eliberare. Mă întreb de ce ...







Articole similare

Trimiteți-le prietenilor: