Cum de a proiecta

Cum de a proiecta
Scrierea Cod mobil. Inginerie Software Esențial pentru construirea de aplicații mobile "id =" b_cover „>

Cartea este bine-cunoscut profesionist în domeniul tehnologiei de calculator dedicat dezvoltarea de aplicații pentru o gamă largă de dispozitive mobile, utilizând populare și în continuă evoluție platforma .NET Compact Framework. Unicitatea acestei cărți constă în faptul că aceasta se împletește armonios informațiile teoretice despre toate ciclul de dezvoltare de software cu exemple practice de aplicare în C # și Visual Basic. Se analizează în detaliu conceptele care stau la baza platforma .NET Compact Framework, precum și probleme legate de crearea de interfață eficientă de utilizator, managementul memoriei, performanță și fiabilitate. o atenție deosebită este acordată aspectelor practice ale dezvoltării de aplicații pentru dispozitive mobile, inclusiv alegerea modelului de reprezentare și de acces la date, introducerea modelului de comunicare, realizarea de comportamente folosind mașini de stat finit și utilizarea XML.

Cartea este conceput pentru dezvoltatorii cu diferite abilități, și poate fi, de asemenea, utile pentru studenți și profesori din specialitățile relevante.

Book: Programarea dispozitivelor mobile de pe Compact Framework .NET

Cum de a proiecta Compact Framework .NET

Cum de a proiecta Compact Framework .NET

Cheia pentru o soluție de succes a oricărei probleme tehnice este definirea preliminară a obiectivelor comune spre care trebuie căutate în cadrul proiectului. Ar fi greșit să spunem că toate ideile de bază referitoare la proiectul .NET Compact Framework, născut într-un singur cap, pentru că nu ar corespunde realității. idei .NET Compact Framework proiectului au fost rezultatul unor dispute violente între principalii actori de instrumente de dezvoltare și de grup medii de rulare, fiecare dintre care este aprig aparau opinia sa. Unii dintre ei au fost de părere că cel mai important lucru - este de a realiza cea mai mare reducere posibilă în mărime de cod. Celălalt se concentrează pe furnizarea de cross-platform de compatibilitate cod. Unii membri ai grupului au crezut că cheia pentru a câștiga cotă de piață este de a crea sisteme de aplicații enterprise-class pentru Pocket PC. Fiecare dintre aceste idei studiate cu atenție, a fost comparat cu alte idei și imediat testate prin teste de laborator efectuate de dezvoltatorii grupului țintă. Datorită colaborării cu dezvoltatori independenți, care, în cursul acestor teste de laborator utilizate au foarte primul dintre cărămizi de contact create pentru a construi un real aplicații mobile, am făcut multe pentru a afla despre ceea ce este cel mai important, este absolut necesar sau pur și simplu de dorit pentru medii de rulare, dispozitive mobile orientate.

Acest feedback poate determina acțiunile noastre pe parcursul primei faze a procesului nostru de dezvoltare pe termen lung, și suntem profund recunoscători tuturor celor care ne-au furnizat informații prețioase, efectuarea de teste ale rezultatelor inițiale ale muncii noastre. judecata lor independentă ne-a permis să se clarifice, rafina și lustruiți principiile de bază pe care ar trebui să fie folosite pentru a aduce proiectul la finalizarea acestuia. După ce a acceptat pe obiectivele principale ale proiectului a început a doua etapă a procesului de dezvoltare pentru a asigura realizarea practică a acestor idei, rafinamentul lor, și acolo unde este necesar, și modificarea produsului intermediar, în scopul de a obține un compromis rezonabil între pretențiile concurente reciproc la dimensiunea, de performanță, și capabilități ale codului. Eforturile noastre vor fi încununate de rezultatul final sub forma versiunii 1.1 a platformei .NET Compact Framework, am fost foarte multumit. În cazul dispozitivelor mobile a descris procesul de proiectare iterativ este deosebit de important pentru motivul că, în dezvoltarea de dispozitive pentru software-ul încă acumulat experiență mult mai puțin decât în ​​cazul desktop-uri sau servere. Dispozitivele mobile au fost utilizate ca platforme de aplicații flexibile relativ recent, și mulți dezvoltatori sunt doar încercarea de a vedea drumul său în lumină scăzută dimineața unei zile noi; abordare iterativă în considerare câștigurile de feedback-ul utilizatorilor, în aceste condiții, de o importanță deosebită. La întrebarea cum de a face procesul de proiectare iterativ, vom veni mereu înapoi în toată această carte.

Mai jos, în ordinea descrescătoare a importanței, sunt principalele criterii care ar trebui să îndeplinească prima versiune a cadrului NET Compact.

1. NET Framework Compact a fost necesară pentru a crea un subset al dezvoltat anterior pentru computere desktop și servere, .NET Framework, care este compatibil cu cele mai recente binar pa și care satisface cerințele standardelor. Pentru dezvoltarea .NET Framework, axat pe calculatoare desktop și servere, au fost cheltuite eforturi mari, și nu să profite de rezultatele obținute ar fi doar o prostie. În plus, o parte semnificativă a acestor rezultate, inclusiv în format binar de aplicații compilate (IL), limbajul de programare C bibliotecă de clasă de bază # și cadrul de software-ul a fost deja prezentat spre examinare organismelor de standardizare (ECMA-334 și ECMA-335, ISO / IEC 23270 (C #), ISO / IEC 23271 (CLI) și ISO / IEC 23272) și validată. La crearea unui cadru NET Compact reprezentat o provocare evidentă punerea în aplicare a acestor standarde, și cu ea și să folosească limbajul .NET compilatoare. Capacitatea de a utiliza deja a trecut o performanță testat cuprinzătoare și dovedit a compilator C # si VB.NET pentru a crea aplicatii de pe Compact Framework .NET, împreună cu implicarea unui număr mare de instrumente de proiectare, testare și depanare, deja disponibile pentru dezvoltarea de software pe desktop-uri și servere , făcând în acest fel este mult mai fiabile și eficiente punct de vedere tehnic decât în ​​curs de dezvoltare o versiune nouă a punerii în aplicare a acestor fonduri de la zero.

oportunități 2.Mezhplatformennye. În timp ce prima punere în aplicare a mediului .NET Compact Framework conceput pentru sistemul de operare Pocket PC, Windows CE și Microsoft Smartphone, ea însăși a fost conceput astfel încât, dacă este necesar, poate fi transferat la alte platforme. O consecință practică a acestui concept de design este faptul că toate apelurile de la Compact Framework .NET, care implică sistemul de operare de bază, puse în aplicare printr-o singură interfață - PAL (strat de abstractizare platforma - un strat de abstractizare platformă). Acest lucru simplifică contul care stau la baza dependențele de sistem de operare în procesul de proiectare și face mai ușor de a transfera biblioteca runtime și timpul în alte sisteme de operare. Nu rezultă că transferul a software-ului la un sistem de operare diferit nu va pune nici o dificultate doar pentru simplul motiv că acest aspect a fost luat în considerare la proiectarea cadrului NET Compact. De exemplu, unele sisteme de operare funcționalitatea fondurilor, care afișează PAL, pot fi absente, și, prin urmare, este necesar să se PAL pentru această platformă a pus în aplicare caracteristici, cum ar fi multithreading, managementul memoriei, crearea de obiecte grafice sau alte funcționalități care de operare țintă sistemul nu poate oferi. Soluția unei astfel de problemă poate fi foarte dificil, dar se reduce la un proces bine cunoscut și dovedit că nu a fost trecut cu vederea în procesul de proiectare .NET Compact Framework.

3. Puternic client-side, inclusiv suport pentru desen și forme care îndeplinește funcții client de servicii web și acordarea accesului la modelul de date cu multe caracteristici. Am ajuns la concluzia că, în scopul de a rula timp mediu pentru dezvoltatorii de aplicații percepute ca un dispozitiv competitiv, acesta trebuie să îndeplinească mai multe cerințe esențiale. În primul rând, era necesar ca acesta oferă o interfață de utilizator cu o gamă largă de posibilități oferite de controale moderne, care dezvoltatorii au crescut obișnuit (de exemplu, grila, liste și vederi de copac). În continuare, ea a trebuit să ofere aceeași ușurință de utilizare a aplicațiilor servicii Web, la fel ca în cazul .NET-aplicații care rulează pe desktop (care este, pentru a face această sarcină banală) În plus, ea a trebuit să ofere un model modern scalabilă pentru a lucra cu baze de date (ADO.NET), care oferă cea mai mare oportunitate. Suport pentru toate aceste fonduri a fost implementat în .NET Compact Framework Biblioteca de materiale.

4. Cerințe de volum redus stabilite pe dispozitiv și memoria ocupată de platforma. Pentru a avea o șansă de practică pentru a sparge în dispozitivele de piață în masă cu dimensiuni tipice ale unei imagini ROM (imagini ROM), sistemul ar lua mai mult de 2 MB de memorie. Posibilitatea de a plasa în imagine ROM cu unități de volum tipic de masă considerate de noi ca fiind o caracteristică esențială a platformei pentru dispozitive mobile. Pentru a facilita rezolvarea acestei probleme, cel puțin a fost important să se permită instalarea unei platforme în sistemul de fișiere RAM dispozitive existente, astfel încât nu a fost încă o mulțime de spațiu pentru aplicații și date. Pentru a rezolva ambele probleme necesar ca cantitatea necesară de memorie pentru platforma utilizată pe dispozitiv, să nu depășească 2 MB. În plus. NET Framework Compact ar trebui să continue să funcționeze în medii în care există limitări stricte cu privire la volumul de memorie disponibilă. Aceste obiective sunt foarte diferite de cele care au fost puse în dezvoltarea .NET Framework pentru calculatoare desktop și servere, axat pe executarea într-un mediu cu stocuri suficiente resurse, atunci când atinge un flux maxim a fost o prioritate mult mai mare decât reducerea la minimum cantitatea de memorie ocupată platformă.

5. A fost necesară pentru a oferi sprijin practic, pentru cel puțin două limbi - .NET C # și Visual Basic .NET. Cu toate că din punct de vedere teoretic pe oricare dintre codurile de limbaje de programare, axat pe subset standardizate de cod octet IL și un set standardizat de biblioteci .NET Compact programelor-cadru (ECMA si ISO), ar trebui să poată fi compilate pentru a rula pe Compact Framework .NET, este necesar Acesta este confirmat în practică, prin punerea în aplicare efectivă a mai multor limbi. Am ales C # și Visual Basic, deoarece acestea sunt cele mai populare limbaje .NET. Ca și în exemplul de realizare a desktop-uri și servere, se intenționează să fie incluse în .NET Compact Framework bibliotecă de execuție Microsoft.VisualBasic.DLL.

• Operațiile aritmetice cu virgula mobila de calcul al funcțiilor trigonometrice și transcendentale. Din punct de vedere al dezvoltatorilor de calculatoare desktop și servere includerea acestor fonduri pare să ia de la sine, dar cu poziții de dezvoltare de software pentru dispozitivul nu este de la sine înțeles. Din motive datorită factorului de mărime, costul și consumul de energie, procesoare, multe dispozitive mobile nu au suport nativ pentru operații aritmetice cu virgulă mobilă. În schimb, această opțiune oferă o bibliotecă de programe care rulează pe partea de sus a procesorului. Am ajuns la concluzia că, deși majoritatea algoritmilor bazate pe aritmetica întreg pentru aproape orice aplicație lumea reală va fi întotdeauna ocazii când nu operații cu numere zecimale imposibil de făcut. Luarea în considerare a tot ceea ce ar putea fi necesare pentru calcule financiare (de exemplu, pentru a determina ratele dobânzii, sau grafice), calcule științifice sau calcule asociate cu jocuri, ne-a convins că încercarea de a înlocui utilizarea de cod nativ pentru abordarea dispozitivelor mobile pe baza codului gestionat, acesta poate avea succes numai dacă în același timp sprijin vor fi furnizate operații în virgulă mobilă.

• Toate elementele de bază ale limbaje de programare și a bibliotecilor software utilizate în mod obișnuit. Nu putem exclude nici cele furnizate de orice caracteristici moderne de limbaj de programare orientat-obiect, cum ar fi moștenire sau prelucrarea de excepții structurale, nici o astfel de funcții de bibliotecă de nivel scăzut, cum ar fi fișiere IO funcții bazate pe fluxuri. Dezvoltatorul se așteaptă ca aceste fonduri de programare va fi întotdeauna la îndemână, iar în absența lor, el are un sentiment că el a fost lipsit de necesitățile de bază, în timp ce ar trebui să funcționeze întotdeauna într-un mediu confortabil și să fie pe deplin pregătit.