Dilema utilizatorului de Visual Studio

… apare când, din punct de vedere al unui programator C#, de exemplu, realizezi că piața se împarte în felul următor:

  • Large screen (desktop PCs, notebooks, some tablets/convertibles): 50% (în scădere)
    • Windows (from Microsoft): ~92%
    • macOS (from Apple): ~6%
    • Linux: ~2%
  • Small screen (smartphones, other tablets/mobile devices): 50% (în creștere)
    • Android (Linux-based): ~67%
    • iOS (from Apple): ~30%
    • Windows Phone (from Microsoft): ~1.5%

… și coroborezi înțelegerea acestui trend cu renunțarea la utopia unei lumi tehnologice monopoliste complete, care era odinioară – fie că au zis, fie că nu – viziunea celor din top (oferind un sentiment de bine adepților speranți), dat fiind că Microsoft înșiși au renunțat la idee începând cu implementarea suportului pentru JavaScript în dezvoltarea aplicațiilor UWP și continuând cu Cordova tools, Xamarin în Visual Studio, apoi .NET Core și Visual Studio Code disponibil pe Windows, Mac și Linux, ș.a.m.d.:

  • Ne așteptăm la o revenire a celor de la Microsoft odată cu un HoloLens 2-3? Chiar dacă acum sunt pe val cu Surface Studio, Book, Pro, sau XBox, trendul menționat mai sus nu cred că se va modifica, iar Surface Phone nu ar fi de ajuns pentru o revenire spectaculoasă nici dacă ar fi extraordinar. Totuși, dacă HoloLens prinde cu adevărat și necesitatea UWP reînvie (Microsoft are un avans considerabil față de competitori în domeniul holografiei), s-ar putea întoarce roata.
  • Ieșim cu totul de sub umbrelă acum și învățăm native iOS și Android development? Nu, deși acum un an mi se păreau lucruri esențiale și credeam că rezolvă problema, Cordova tools – care împacă până și Web-ul – și Xamarin nu sunt suficiente, pur și simplu, pentru că mai există un trend de care trebuie ținut cont: aplicațiile contemporane trebuie să aibă un user experience nemaipomenit, iar aceasta nu se poate obține, în multe cazuri, decât 100% nativ (nici utilizând WebViews și nici cu cod auto-generat dintr-un trunchi comun). Sigur, această alegere presupune multă muncă – curbe de învățare ale unor alte tehnologii – dar sigur vom refolosi multe cunoștințe generale de programare și de arhitectură software (mai ales că poate nici n-am fost Microsoft technology developers de la început – remember Basic, Turbo PascalBorland C sau chiar Java?  Iar lumea de pe mobile îmi spune că nu va fi deloc greu.)

Voi ce-ați face? Eu nu pot alege (deși tind, parcă, spre a doua opțiune, poate pur și simplu pentru că e mai sigură pe termen mediu.) Ce pot face în siguranță este să merg pe ambele căi, transformând dilema într-o dublare/triplare a muncii și incertitudinea viitorului într-o oportunitate de a învăța suplimentar… Dar și așa se pune o întrebare: este într-adevăr bine să mergem pe ambele căi sau mai bine să riscăm și alegem una singură?

Alternativă extremă: să ieșim de sub umbrela Microsoft și să ne înfigem sub cea a Apple, reobținând confortul speranței utopice anterioare cu un alt lider – mai conservator. O întrebare ar apărea și în acest caz, însă: dacă tot ni s-au deschis ochii – deși mai larg decât ne-am fi dorit inițial – nu ar fi, totuși, mai bine să-i păstrăm așa? Atunci când cineva a devenit nereligios cred că e foarte greu să se reîncadreze în rândurile unei (alte) biserici!…

Advertisements

About Sorin Dolha

My passion is software development, but I also like physics.
This entry was posted in Computere și Internet and tagged , , , , , , , , . Bookmark the permalink.

5 Responses to Dilema utilizatorului de Visual Studio

  1. Tudor says:

    Majoritatea developerilor nu prea își pun întrebarea asta, cum se rezuma la ce proiecte prinde firma la care lucrează, unde de obicei nu ai multe variante..
    Singurul shift clar e in zona aplicațiilor web, unde doar ASP.NET nu mai e suficient, și cam orice developer trebuie să învețe ceva gen Angular sau React, partea de .Net rezumandu-se din ce in ce mai mult la server.

    • Sorin Dolha says:

      Sigur, întrebările astea nu au sens pentru developerii care muncesc pentru rezultate, exact cum spui. Însă pentru cei pentru care valoarea e munca însăși, bucurându-se de rezultate doar ca side effect, mi se par stringente.

      În legătură cu Web-ul, da, nu prea l-am luat în considerare mai sus, așa că adaug: da, fără responsive HTML5 și mult JavaScript (Angular sau orice alt framework mai bun) Web UI nu se mai poate de multă vreme (iar ASP .NET MVC se transformă în multe cazuri în WebAPI only, iar programatorii se întreabă apoi dacă nu le-ar fi suficient Node.js server side).

      Dar pe termen lung observ că UI-ul tinde să fie cât mai nativ cu putință pe platformele care au o oarecare cotă de piață. Asta vine de la faptul că (inițial poate împotriva logicii, dar având la bază principiul UX-ului perfect) utilizatorii caută mai nou direct un app în store-ul platformei lor încă înainte de Web site, chiar și dacă acesta ar fi small screen friendly. După desktop, prevăd o scădere și în lumea Web site-urilor…
      Utilizatorii decid deci totul în ultimă instanță (iar millenials vor duce balanța și mai mult în direcția trendului curent), iar programatorii se conformează: nu pot face numai ce le place, dacă vor să se bucure și de side effects. (De fapt, nici n-ar mai fi plăcere munca dacă nu ar fi targetată cât de cât pe piață, nici măcar pentru cei “religioși”.)

      • Tudor says:

        Normal, la capitolul “ce ar trebui să învăț in timpul liber” 🙂 intrebarile astea trebuie puse – in zona apos/mobile, din păcate șansa de a se întâlni cu un proiect în .Net e scăzută – acolo Java/Android și iOS domina. Depinde și de timpul de aplicații – in zona “enterprise” lucrurile se mișcă mult mai incet, și încă sunt aplicații desktop (WPF) sau ASP.NET la greu..

      • Sorin Dolha says:

        Pentru programatorii care lucrează de plăcere tot timpul e liber: și-l ocupă singuri când vor și cum vor, fie că se reangajează când nu mai sunt pe trackul dorit, fie că sunt free-lanceri. Și oricum, dacă sunt buni, ca rezultat secundar câștigă OK și pot trăi păstrându-și obiceiul de a alege singuri ce fac. De-aceea aici e vorba de a alege între apps/mobile (care cresc) & the rest (care scad), din punctul unuia care înainte alegea orice în zona Microsoft (care era suficient de sus).

        Dar da, pe termen scurt și mediu încă este loc de Microsoft technologies pe partea de business – până când business-urile alea vor fi conduse de noile generații. 🙂

  2. Pingback: HoloLens, UWP, moderație | Sorin Dolha's Blog

Add a reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s