Po dlhej dobe všetkých oznámení tu máme konečne oddychový týždeň. A keďže máme tento týždeň bez udalostí, tak je dobre siahnuť po zaujímavostiach. Dnes to je zverejnená informácia, že dôvodom, prečo chce Microsoft kúpiť Activision Blizzard (AB), neboli len nové hry, ale snaha preniknúť na mobilné platformy. Tam je silným hráčom Google Play a Apple Store, takže určite ste zvedaví, že ako? Nuž predstavte si, že máte dnes už bežné free multiplatformové hry, ktoré žijú z nákupov bonusového obsahu. Tieto hry zarobia na mobiloch cca 85 miliárd dolárov, čo je 51 % celého herného priemyslu. A teraz by vám Microsoft ponúkol Xbox účet, kde by ste si veci kúpili iba raz a mali ich na konzole, na počítači, ale aj na mobile. Tak to už samozrejme robí Epic s Fortnite, ale je mnoho hier, ktoré takúto centrálnu správu účtov nemajú. U AB sú takými hrami napríklad Call of Duty: Mobile a Candy Crush Saga. Tiež si spomeňte ako promptne sprevádzkoval Microsoft xCloud hranie na konzole Steam Deck. Všetko preto, aby bol všade, a ak je budúcnosť hier vo free verziách s nakupovaním obsahu, tak tam Microsoft určite nebude chýbať. Teda, ak mu akvizícia AB prejde cez protimonopolné úrady. Už teraz mu UK regulátor robí problémy.
My sami sme nemali s upgrade na .NET 6 problém, tak by ste nemali mať ani vy.
Zaujima ma, ci ste tym presli aj na nullable refernce types? Leb tiez migrujem a na novom kode funguju super, ale migrovat na to velku codebase s tym, ze low-level api tie anotacie nema, tak tam viac menej odhadujem, kam dat otaznik…
nie, toto sme neriešili, príliš veľká codebase. Ale tradične pri takejto akcií updatujeme aj závislé knižnice a prerábal sa prístup k Azure službám, atď. Inak jediný reálny problém, čo sme pri tom upgrade našli, že by default už xml serializer v asp.net neindentoval a pár ľudom to rozbilo api (nie moc tomu chápem, prečo v xml záleži na zariadkovaní na konci tagu:).
Nepoužívame Automapper, píšeme taký command pattern, kde data v db != command params.
Ale aby som nekecal, keďže máme Razor views, tak tie sa kompilujú source generátormi. Ale možno v budúcnosti budeme mať scenár použitia, ak pôjdeme do resource lokalizácie.
Chapem. U mna zalezi od projektu. V niektorych nic a v niektorych mapujem desiatky tried pre REST API, no lepsi alebo cistejsi sposob som zatial nenasiel.
U mna je to skor take… pouzit overenu kniznicu s dlhorocne stabilizovanym api, alebo zvolit novu kniznicu, ktora ma nejake vyhody ale je proste nova.
Kedze sa to da vypinat po projektoch / suboroch, dobre pravidlo je, ze vsetok novy kod to musi mat zapnute (vynimka moze byt generovany kod typu EF).
Da sa to docielit tak, ze to zapnes v projektoch, kde to chces mat zapnute a v existujucich suboroch to vypnes. Potom rucne zmigrujes zopar API, ktore pouzivas casto, typu extension metody, app servicy, atd.
V principe plati, ze je jednoduchsie migrovat najskor nizsie vrstvy, pretoze ked to robis naopak, budu ti vyskakovat warningy v uz zmigrovanom kode. Mozem vysvetlit detailnejsie, ak je zaujem
Ak to bolo pre mna, tak ano tiez to povazujem za spravny postup. Kniznice, ktore som mohol som na nullable type zmigroval uz skor. A dany projekt idem hura systemom, lebo tam sa “renovuje” vsteko, kedze sa meni jeho architektura.
V principe migracia na nullable types nieje rizikova, nieje to refactoring v pravom slova zmysle. Este sa mi nestalo, ze by som odstranovanim nullable warningov urobil bug. Naopak, par som odstranil. Takze smelo do toho
To neviem potvrdit. Pouzivam NSwag, tam to bolo v net 6 verzii zapnute defaultne (pouzivam OpenAPI v3). No trebalo to zapnut pri generovani klienta pre C#.
A este nullable typy mali pre mna jeden dosledok, dost som zacal pouzivat Debug.Assert.