"Změna přístupu, zaměření spíše na běžné uživatele, pomohla a Windows Phone se stal populární. Následně Microsoft vydal verze 7.5 (Mango), 7.5 (Tango) a koncem roku 2012 se čeká na vydání verze 8.0 (Apollo), který bude obsahovat nové jádro operačního systému, podporu vícejádrových procesorů a jednoduchou portaci aplikací."
To jako vážně? Vypadá to jako nějaký referát z roku 2012.
"Kdyby tedy nakonec zvolil C#, tak by se zřejmě vyhnul jakýmkoliv žalobám a nemusel by se teď strachovat soudního sporu s Oracle."
Co znamena slovo "zrejme"? Mohol teda na tom byt horsie ako je na tom teraz, kedy sud rozhodol, ze mnozstvo kodu zo zalovanej javy je minimalne a obe spolocnosti sa dohodli na financnom urovnani sporu vo vyske $0.00
Diky za clanek, doufam, ze to nebude jeden z mnoha serialu koncici prvnim clankem :)
Vyvoj pro mobilni platformy s vyuzitim Xamarinu mne velice zajima a budu moc rad, pokud si budu moci precist par rad od zkusenejsich kolegu.
Z tech kritiku, kteri sami nikdy nic nepsali a jen rejpou si nic nedelej..
Presne, jednak premenovali produkty a aj sa zmenila dost vyrazne cenova politka.
Povodne Ios tusim Pro plan stal 299$ teraz je tom adekvatny Buisiness ktory ale maju uz za 999$ (ale je fakt ze tym co mali kupny pro za 299 automaticky ho upgradli na business). A tiez neni spomenute ze Xamarin uz podporuje aj Visual Studio (ale az od Business verzie ich planu). Cize Android aplikacie sa daju kompletne vyvyjat vo Visual Studiu (aj gui navrh). Pri IOS je to trochu osemetnejsie. Tam sa da programovat vo Visual Studio ale na navrh gui stale treba Xcode pod MacOS a na kompilaciu tak isto (visual studio si po sieti zavola mac masinu na ktorej dany kod skompiluje).
Myslim ze michate hrusky a jablka. V pripade jazyka jako takoveho slo o copyright na urovni navrhu API i kodu. V pripade implementace JVM slo o dva patenty.
Nevim co prislibil MS, ale pochybuju ze by dal cele sve patentove portfolio k dispozici komukoliv kdo by ho chtel pouzit pro alternativni VM.
Takze asi spis slo o nezavislou implementaci. Coz ale nevadilo ani Oraclu. Jenze Google udelal neco "jako Java", rikal tomu Java a pak kdyz doslo na zalobu tak zas rikal ze to Java neni.
Poprosil by som daku referenciu k tomuto...
> Google se dlouho rozhodoval, zda použít jazyk Java nebo C#.
Az dodnes som bol presvedceny, ze Google kupil Android i s Javou/Dalvikom.
Inak je WM/WP este vzdy maximalne okrajovy a vyvyjat SW pre dve platformy v jazyku a prostredi, ktore je obom maximalne cudzie mi pride mierne postavene na hlavu.
Váš příspěvek byl vyhodnocen jak spam (v textu byla použita zakázaná slova) a nebude přijat. Pokud se domníváte, že zadáváte regulérní příspěvek, pošlete nám ho prosím e-mailem do redakce na adresu redakce (zavináč) root (tečka) cz
3x jsem muj text prepsal a furt me to nepusti, takze FU
Abych se přiznal, tak se na pokračování těším.
Přiznám se, že jsem chtěl Mono Droid vyzkoušet již dříve, protože v C# programuji v práci. Trochu mě ale odrazuje učit se něco, když pak, abych dal aplikaci na store člověk musí zaplatit nezanedbatelnou částku. Takže to není až ta úplně na hraní si.
Přesně tak, podle toho, co píšou na stránkách, tak zadarmo dostanu jenom nástoje na vývoj a můžu si nasazovat pro vývoj k sobě. Ale abych mohl udělat větší aplikaci, tak musím zaplatit 299$. A navíc pokud budu chtít nejen adnroid, ale i iOS, tak musím zaplatit dalších 299$ (respektive je tam sleva na více licencí nějakých 60$).
Kromě toho, že článek obsahuje fakticky zastaralé informace a podivné spekulace o Androidu, tak je tam ještě spousta jazykových chyb, kromě té zmíněné výše v perexu např.:
Přidáváme nebo přepisujeme metody tak, aby odpovídali specifikace dané platformy.
Tímto způsobem můžeme skládat jako skládačku, které bude přesnou specifikací funkcionality pro danou platformu.
Celý ten text článku je dost příšerný, dělá to na mě trochu dojem, jako by to bylo schválně. Taková skrytá snaha ukázat, že vývojáři na MS technologiích jsou paka. Každopádně redakčně totálně nezvládnuté.
"Definuje třídu s klíčovým slovem partial. Toto klíčové slovo říká, že definice třídy bude rozdělena do více souborů. Jedna část třídy bude součástí společného zdrojového kódu, druhá část bude součástí zdrojového kódu pro danou platformu. Tímto způsobem jednoduše a efektivně rozdělit kód i jeho překlad."
Tohle je IMHO cesta do pekel. Není nad to, když se buď třída nedá zkompilovat vůbec nebo v různých kontextech je jiná. Tohle by se mělo řešit rozdělením rozhraní a implementace. Vytvořím 4 třídy (společnou + pro každou platformu speciální a žádné ifdef nepotřebuju). Prostě na androidu použiju jinou implementaci rozhraní než na windows. Celkově si myslím, že v C# by měl programátor ifdef používat co nejméně. Rozhodně ne pro konfiguraci projektu (od toho je make, IDE nebo cokoliv co se používá na správu projektu).
Moje relativne cerstva zkusenost je, ze mono proste nefunguje a cely projekt je v dost spatnem stavu.
Preklad pro arm je pomerne problematicky. Kdyz uz se podari projekt prelozit, tak zjistime, ze nefunguji zakladni veci jako pretypovani s z int na double.
https://bugzilla.xamarin.com/show_bug.cgi?id=7938
Osobne vediem projekt kde su mobilne app pisane v c#, zdielaju tu istu bussiness logiku, cast kodu je dokonca reusovaneho zo servera.
Platformy mame WP7, WP8 (separatny port kvoli specifickym novym vlastnostiam), Android a dokoncujeme iOS.
Port iOS trva cca 7 tyzdnov, vyvoj novej app v Objective-C by trval cca 4-5 mesiacov + nikdo z tymu objective-C rozumne neovlada + spravovanie spolocnej bussiness logiky je uplne niekde inde ako spravovat samostatne C#/Javu/Objective-C kod.
Ano, Mono je problematicke(zabugovane), ale dost sa to zlepsuje(Xamarin dostal nemalu investiciu a snazia sa) a rozhodne to nie je nepouzitelne. Vyhody lepsieho spravovania spolocneho kodu a mensie naroky na team ktory uz c# zvlada urcite vyvazia obcasne bugy v Mone.
Pokud vim, tak Miguel nedavno psal na blog, ze vyvoj Mono jako platformy se bude vic obracet smerem k Windows a OS X a Linux budou jako host platformu cimdal vic ignorovat. Udajne si za to muze Linux komunita sama tim, jak porad do Mono sije. A jak to tak pozoruju nejen tady, tak je to naprosta pravda.
Co se tyce bugu v Mono a v ekosystemu kolem nej, rekl bych ze po prevzeti Xamarinem se to dost zlepsuje, napr. Xamarin Studio je pod OS X a Windows znacne rychlejsi a stabilnejsi nez MonoDevelop. XS se pro Linux uz nevyviji. I bugy, na ktere sem narazel pri pouzivani Mono API casem zmizely a dlouho sem nenarazil na problem.
Mono pouziva napr. Unity 3d engine (ale Unity Mono je dost modifikovane, na mobilnich zarizenich nebezi idealne thready), a ten je pouzivan obrovskym mnozstvim hernich vyvojaru s deployem na vsechny mozne platformy. Problemy to ma, ale nic co by znemoznovalo vyvoj. Rikat ze Mono proste nefunguje je prehnana generalizace.
Ad preklad pro ARM: myslis preklad binarek primo pro ARM instrukcni sadu? Imho tohle pro Xamarin neni moc prioritni vec, na ktere nemohou vydelavat - Xamarin na ARM cili na Android a iOS, kde pouzivaji preklad do Javy/JNI/NDK a nebo objc kodu. Primy preklad pro ARM asi nema pro ne velkou prioritu. Od ceho je komunita, ze? :-)
"Udajne si za to muze Linux komunita sama tim, jak porad do Mono sije."
To není žádný argument. To by java na linuxu nemohla být už nejmíň 15 let. Navíc brát místní komunitu jako reprezentativní vzorek je blbost. Je tady spousta křiklounů se silně vyhraněnými názory. Příspěvky s dobrými argumenty se objevují jenom zřídka.
Já jsem chvíli v .netu programoval a připadá mi, že ta platforma je celkově hodně závislá na starších ms technologiích (windows forms, pinvoke atd.), což je nejlépe vidět v porovnání s javou, která tyhle platformově závislé má daleko lépe implementované. Je tak logické, že 100% kompatibilní implementace se nedá vytvořit zrovna snadno. Navíc se to nevyplatí, když potom není o mono na linuxu moc velký zájem mezi programátory. IMHO mono má na linuxu problém s tím, že na desktopové aplikace jsou tu jiné věci a na server se spíš použije java.
To, ze xamarin ziadny preklad do Javy nerobi. To ako to funguje je zavysle od platformy:
iOS - nie su povolene virtualne masiny(teda neboli) - funguje to AOT - ahead of time - skompiluje sa to cez llvm do pomerne pekne optimalizovaneho balicku, priamo do strojoveho kodu, na instrukcie procesora, tj ziadne prekladanie do obj-c
Android - je prikladana VM a funguje to podobne ako Dalvik
Co je spolocne a prekladane je API, na Androide aj iOS je mozne priamo volat to iste API, ako v JAve/C++/Obj-c. Mono je open, Xamarin v podstate predava tie wrappery API a tools.
On uz Apple zmenil politiku, ze veskere apps pro iOS musi byt prohnane pres jejich objc prekladac, jinak nejsou approved na Appstore? Pokud vim, i treba Flash Builder musel generovat objc kod, ktery se az pak prekladal. Timto se obesly apple Terms of service a vsichni byli spokojeni.
Edit: ok, vidim, ze toto uz neplati. A jak tak ctu, Xamarin.Android skutecne priklada Dalvik like VM. Coz nic nemeni na tom, co sem rekl - cili ze pro Android negeneruji ARM kod, ale IL-like kod, tudiz krome kompilace samotneho VM na ARM jim muze byt ARM na Androidu jinak volny (vyjma NDK bindingu). A mono VM je C++ aplikace, s jejiz prekladem na ARM problem ocividne nemaji.
Co se tyce Xamarin.iOS, vypada to ze mate pravdu, nejsem si vsak uplne jisty ze tomu tak bylo vzdy. A objc kod musi urcite generovat aspon pro binding / wrappery na objc APIs na iOS. Nebude toho moc, ale nejake glue tam byt imho musi.
"Coz nic nemeni na tom, co sem rekl" - a já bych řekl, že Vaše původní vyjádření o překladu do Javy/JNI/NDK je na hony vzdálené od Vaší aktuální interpretace Vašeho původního příspěvku ;-).
Pokud řeknu nesmysl, je vždy lepší sklopit uši a přiznat chybu. Jinak jsem pro smích. Jen mi to obvykle taktní publikum nedá najevo.
Mono proste nefunguje nevim jak jinak to rict. Nefunguje pro konkretni varianty co jsem zkousel. tj. debian/sid/armhf, debian/sid/armel, opensuse 12.3/arm7hl Je mozne a docela pravdepodobne, ze pro desktopovy hardware to funguje o dost lip, ale toto jsem nezkousel.
Na debianu jsem narazil na pomerne zasadni chyby, ktere jsou sice vyresene, ale kvuli feature freeze se nedostanou do distribuce. Napriklad toto:
https://bugzilla.xamarin.com/show_bug.cgi?id=2965
Vlastnorucni preklad je pomerne problematicky. Z tech nekolika verzi, ktere jsou oznacene jako release a zkusil jsem je stahnout z http://download.mono-project.com/sources/mono/ velka vetsina proste nesla prelozit.
Tento clanek je na serveru jako root.cz, takze bych ocekaval, ze se bavime o vyvoji pro Linux a na Linuxu. Ne o vyvoji v iOS/Windows nebo pro tyto systemy. Pokud je podpora mona pro Linux v zalostnem stavu, Xamarin na to kasle a linuxove distribuce taky, tak by to tady melo byt zmineno.
A kde presne jste vzal informaci, ze Mono nefunguje na Androidu?
Jaky to ma vyznam? Kolem C# je obrovsky ekosystem a velka komunita, spousta hotoveho kodu, knihoven, nejen hernich enginu, apod. Ano, toto vsechno ma i Java, ale pokud mate nejakou sadu knihoven, ktere efektivne resi co v aplikaci potrebujete a vyvijite aplikace v C#, pak Mono je nejjednodusi zpusob, jak vas kod rozbehat na vsech trech platformach.
Takze ak chcem mobilne a multiplatformne a mat nejake nastroje, tak prichadza do uvahy len C++ s Qt a Java.
1. C++ s Qt - nema podporu na WP(ake da sa tak, ze budem robit separatne UI na WP), na iOS je to zatial velmi cerstve, vyvoj v C++ vacsinou trva dlhsie ako v Jave alebo c#. Nie zla volba ked mam skuseny tim na c++/mobile, co nie je sranda.
2. Java - na WP neexistuje riesenie, na iOS sa da trochu v Jave podobne ako v mone, neviem ci maju tak dorieseny tooling. Problem je, ze odkedy je v Java v zlych rukach, tak sa minimalne vyvyja a dlho trvaju aj zaplaty na bugy. Okrem toho Dalvik na Androide zatial stale nedosahuje rychlosti Mono VM. Vyhoda je vsak obrovska podpora na Androide.
Potom su tu z realnych moznosti len js a action script. Ostatne jazyky nemaju frameworky/tooly na mobilny vyvoj.
Pre C++ je este moznost pouzivat MoSync. Pouzivam to uz nejaky ten rok a je to skvely nastroj na rychly vyvoj pre mobilne platformy.
Robil som o tom kedysi davnejsie online prednasku s ukazkou jednoducheho programu. Je na youtube: https://www.youtube.com/watch?v=tpnRTSxhhhc
Ked to budem pisat v tom, co je pre danu platformu primarny nastroj a natrafim na nejaky problem, tak je vacsia sanca, ze sa dogooglim k rieseniu. Ked to zlatam cez mono, stale to bude len zlatane.
Maju mobilne aplikacie taku sialenu aplikacnu logiku, ze je problem to prepisat? A to si este odmyslim, ze viem casto presunut logiku na nejaky server a na mobile len ukazovat vysledky.
Ano ma to zmysel, vzhladom na to ze sa primarne vyvyja na dve dnes najrozsirenejsie mobilne platformy - IOS a Android, ktore su diametralne odlisne aj co sa programovacich jazykov tyka aj co sa samotneho spustaniu kodu tyka. A ak je moznost zdielat cast business logiky a mat len specificky view pre tu ktoru plaformu tak to dost usetri cas ako aj opravovanie chyb. Nehovoriac o tom ze c# a java maju k sebe stale blizsie ako k Objective C a ak programator vyslovene nepochadza z MacOS pisekovivska tak je mala pravedepodobnost ze vobec prisiel do styku s ObjectiveC.
A ak tym ukazovanim vysledkov zo serveru mate na mysli nejaku js humusaren vo webe tak to potom tak vypada ako to vypada. Vecsinou zalagovane, nehovoriac ze prepojenie s OS a jeho funkciami (povedzme globelne ukladanie nastaveni app atd.)
je dost zle.
Praveze si nie som celkom isty, ci to usteri cas. Pretoze na druhej strane mi to moze kompenzovat to, ze pouzivam SDK, ktore pre danu platformu pouziva vacsina komunity a da sa predpokladat, ze je lepsie odladene a ma naozaj API ku vsetkemu, co ta platforma poskytuje a pod.
Ak chcem programovat pre nejaky system, zvladnutie standardnych nastrojov na to urcenych je proste zaklad. Ak mam tie zvladnute, mozem ist do nestandarnych postupov. Mne sa opak javi ako cesta do pekla.
Nejde len o technicke otazky ale aj personalne. Ludia sa menia, kod zostava. Povedzme, ze som spravil Android/iOS aplikaciu, ktora je uspesna a treba ju udrziavat. Budem mat stastie a najdem siikovneho iOS programatora. Miesto toho, aby som tie jeho skusenosti vyuzil, donutim ho pouzivat nejake Mono. Cas, co som ja som usetril ucenim sa Objective C, bude on musiet stravit ucenim niecoho nestandardneho, co mu s dost velkou pravdepodobnostou bude hadzat rozne polena pod nohy. Nehovorim o tom, ako mu bude stupat tlak, ked sa mu par krat stane, ze mu tam nepojde nieco, co by v standardnom jazyku a SDK slo.
Neviem, co je "humusaren vo webe" ale vacsina aplikacii na mojom telefone je proste jednoducha - pocasie, mestska doprava, bankomaty v okoli, maily a pod. S nejakym serverom tak ci tak komunikuje. Komplexne ulohy riesim na PC.
Prave to, ze pri mone sa clovek neuci ziadne ine API ale priamo API danej platformy, a ako dokumentaciu pouziva dokumentaciu od google a apple. Pouziva sice c# ako jazyk ale vsetko robi cez to iste api ako v jave/obj-c.
Sanca ze najdete c# developera je ovela vacsia ako obj-c developera. iOS api sa da - aspon zaklady naucit za cca 3 tyzdne a nie je problem pokracovat v projekte.
V tom je mono rozdielne oproti ostatnym frameworkom, ktore vymyslaju svoj "button" spolocny pre vsetky platformy a vsade vyzera ako z marsu.
To mi dava zmysel este menej. Naucit sa syntax jazyka je lahsie ako zvladnut kniznice tak, aby clovek kazdu blbost nehladal v manualy.
> Sanca ze najdete c# developera je ovela vacsia ako obj-c developera.
Vy nehladate C# developera. C# developer je taky ten clovek, co ovlada pojmy a technologie ako Windows Forms, WPF, WCF, vie co je global assembly cache atd. A frci na MS technologiach. Take nepotrebujete a nehladate. Pracovna pozicia, ktoru idete obsadit sa vola "iOS developer v C#".
Ak budete uchadzacovi prezentovat ako vyhodu to, ze sa nemusi naucit Objective-C, tak tym vacsinu rozumnych ludi len odradite. Lebo kto by chcel mat po 2-3 rokoch u vas v C.V. napisane "programujem pod iOS ale neviem Objective-C". Ked uz ma niekto motivaciu ist robit z Windows (C#) na iOS, preco by nemal mat silnu vnutornu motivaciu zvladnut aj syntax jazyka.
A co priklady kodu z netu? To bude vsetko, co najde prepisovat 1:1 do svojej minoritnej platformy?
A opravdu je to tim, ze jsou ty jazyky dynamicke? Neni treba i tim, ze jsou funkcionalni - anebo maji nektere vlastnosti funkcionalnich jazyku?
Ted jsem byl nucen zacit programovat v Jave a zjistuju dve veci: Java je ciste imperativni jazyk bez jakykoliv naznaku funkcionalniho programovani. Diky tomu jsou programy v Java naprosto neuveritelne ukecane. Java je taky velice primitivni jazyk (navic ma strong typing) diky tomu se snadno parsuje a snadno se vytvari nastroje ktere ulehcuji programatorum zivot.
C# je ted ale o kus dal, veci jako LINQ v Jave proste nejsou. Navic pro jeho runtime vznikaji jazyky jako F# anebo Nemerle.
je fajn mat funkcionalne paradigmy po ruke len mam pocit ze dnes je to strasna moda a mnohy su tym poblazneny, asi ako pred par rokmi strasne frcali navrhove vzory. Dnes mam pocit ze sa zacnu lambda funkcie tlacit este aj z html tagov.
Ja osobne napriklad Linq nemam moc v laske, pride mi to ako dost nechutny trade off za vykon a dohanat to plinqom mi pride ako este horsia varianta.Ale to zalezi asi od uhla pohladu.
To, ze o nich neviete neznamena ze tam niesu. Existuje niekolko kniznic, ktore funguju velmi podobne ako Linq avsak niesu priamo zabudovane v jave (to bude az od verzie Java8 v podobne streamov). Suhlasim, ze strong typing je perfektna vec a kedze som bol nuteny programovat v dynamickych jazykoch, tak som celkom rad, ze som presiel spat k jave. Inak ked uz spominate jazyky pre runtime .NETu, tak na tomto je prave java o nejaky krok vpredu. Uz nejaku dobu sa pod jej runtime vytvaraju tzv. DSL jazyky ako groovy, scala, jpython, jruby, javascript,..., takze tu si na nedostatok jazykov naozaj nejde stazovat.
Osobne si myslim, ze C# uz nema co ponuknut a neskor bude nahradeny nejakym funkcionalnym a pravdepodobne dynamickym jazykom tak ako sa to zacina diat aj vo svete javy.
Btw. ze som scalu oznacil ako dynamicky jazyk, za to sa ospravedlnujem, je to staticky typovy funkcionalny jazyk s pre mna velmi divnou syntaxou, na ktoru si treba chvilku zvykat.
Ja o nich vim, ale "company standard" mi je nedovoli pouzit. Ani nevim jestli je pouzit chci. Jen vim ze stavajici posptupy jsou dost neohrabane. Viz napr. java-what-is-the-best-way-to-filter-a-collection.
Malé doporučení: Qt (třeba i v kombinaci s Pythonem) AFAIK funguje multiplatformně mnohem líp a neváže se na něm nejistota s licencováním (a to i nad rámec samotného projektu Mono, totiž MonoTouch a Mono for Android byly minimálně ještě nedávno proprietární a bylo nutné koupit si licenci pro jejich použití).
Pekne zdravim,
pokud si dobre pamatuju tak M$ to s ECMA standardizaci ukoncil nekde na C# 1.0 coz je uz dnes spise nepouzitelna hracka.
Generika, linq, pokrocile funkce kompilatoru....a dalsi vymozenosti c# 3 a vyssi jsou normalne chraneny komercni licenci M$..... a asi i proto stoji balik xamarin dost penez, protoze tam bude ten licencni poplatek zahrnut (a to jeste 1/2 veci v mono nejede, protoze je jeste nikdo nenapsal...). Pokud se nepletu tak jedinou malou vyjimku z plateb za licence ma Novell, ktery muze svym stavajicim zakaznikum hrnout .NET jak se mu zlibi.
dale, ... xamarin je vpodstate naprd, protoze neobsahuje WPF a spoleha u akcelerovaneho vykreslovani na javovske tridy androidu, ktere pracuji na OGL a ktere nejak zapouzdri, to uz je myslim transparentnejsi prejit na javu uplne.
a dale moonlight je spatne napsana verze silverlight 2, ktera mnoho neumi a v soucasnosti se jedna spise o mrtvy projekt.
Java ma vlastne standartizacne autority. Okrem toho, ze je C# pod ECMA myslim, ze nezabezpecuje to aby sa jednalo o free jazyk a mohol si ho zimplementovat kto chcel. Stacilo by aby to niekto urobil a nahodou sa stal uspesnym. M$ by mu hned slapol po krku aj s licenciami a patentmi, tak ako sa snazil oracle slapnut googlu. Nastastie oracle je neschopna firma a vysudila velke kulove. Skoda, ze javu neziskal google.
"vlastne standartizacne autority"? LOL. To zní asi jako "MS má své vlastní standardy" :)
CLI a C# je standardizované jako ISO/IEC 23271:2012 and ISO/IEC 23270:2006, a samozřejmě také u ECMA. Obě organizace vyžadují, aby patenty spojené se standardy byly uvolněny pod podmínkami RAND (Reasonable and non-discriminatory terms). Vyjma toho MS i partneři deklarovali, že patenty na tyto technologie uvolňují zdarma.
Java žádnou standardizací neprošla, Sun má historii soudního sporu s MS, a Oracle jako nový majitel začal šlapat po Googlu. Sun (a nyní Oracle) v podmínkách říká, že se implementace nesmí odchýlit od originálu, což Javě bere flexibilitu. Když se od originální Javy odchýlíte, skončíte před soudem jako MS (20M dolarů) nebo Google (případ je ještě u soudů).
Google mě jako firma moc neoslovuje. Vydělává na reklamě a osobních údajích, což mi připadá nechutné - nutně u toho totiž musí lidem čumět do soukromí. Má sice motto don't be evil, ale o takovém chování rozhodně nesvědčí kauza okolo Javy, odstřihávání protokolů které používá konkurence, odstřihávání zákazníků webových služeb kteří používají konkrétní platformu, ani menší kroky jako integrace účtů různých služeb (například když se přihlásíte na youtube, všechno co poté přeložíte na Google Translate je asociované s vaším účtem, protože jste pořád přihlášený).
Ono je to medzi jednoduchsimi clenmi linux/oss komunity pomerne easy.
- co slo okolo MS - vsetko velmi zle
- Google je cool (bez ohladu na svinstva co robi - viz napr sukromie alebo ten CalDav - najskor kritizovali MS ze preco nepodporuje open standard CalDav a teraz na jar ohlasili, ze CalDav konci, bude len pre whitelist developerov)
- Java je ok ( bez ohladu na to, ze ako jazyk zacina zastaravat a Oracle nevie co s nim.)
- Viac je OK C++/Qt alebo Pythoon/Qt. (Je jedno, ze neexistuju vyzrete tooly pre vyvoj na iOS, ze balik je obrovsky, lebo Qt je nabubrale, atd atd.. )
- Najlepsie su Go, Scala, D alebo podobne experimenty, aj ked casto nemaju ani API na mobilny vyvoj.
První čtyři body s přivřením obou očí lze brát jako nadsázku, ale Go, Scala a D jsou tři naprosto jiné jazyky/platformy (Scala jede primárně nad JVM a chodí i na Dalviku), takže bych si tipnul, že tu házíš termity jako nějaký suvenýr, ale ve skutečnosti je neznáš ani z Prnďolína.
Příslib se týká Common Intermediate Language a C#. Nevím jestli visí nějaké patenty třeba na ASP.NET, ale pokud ano, porušoval by je nejspíš i Apache nebo Tomcat.
Nástroje si můžete vybrat. Od oblíbeného vi :), před hromadu editorů, až po různá IDE. Není mi ale jasné, proč je zrovna v tomto případě důležitá otevřenost. Psát kód je jako psát knihu - otevřenost použitého SW přece nehraje roli.
Nástroje si můžete vybrat. Od oblíbeného vi :), před hromadu editorů, až po různá IDE. Není mi ale jasné, proč je zrovna v tomto případě důležitá otevřenost. Psát kód je jako psát knihu - otevřenost použitého SW přece nehraje roli.
Měl jsem na mysli nástroje, jenž jsou třeba pro překlad a spouštění kódu. Hlavním důvodem pro otevřenost je možnost opravy nástroje, když nefunguje, jak má (zrovna nedávno jsem toho využil u kompilátoru Google Closure).
Pokud máte na mysli překladač a běhové prostředí, tak existují implementace jako Mono a Portable.NET. A pokud se v tom musíte hrabat, tak radši zvolte kvalitní nějaké nástroje. Ve Windows používáme převážně kvalitní překladače od Microsoftu, případně Intelu, a nikdy jsem neslyšel, že by se někdo musel hrabat ve vnitřnostech překladače. Samozřejmě na Linuxu je to jiné. Například když pánové z Adobe psali hloupý plugin do browseru, řešili spoustu problémů, včetně "ohýbání" GCC.
http://www.root.cz/clanky/proc-trva-vyvoj-flash-9-pro-linux-tak-dlouho/
Věřte nebo ne, uživateli i adminovi jsou zdrojáky na nic. Analyzovat zdroják a následně ho opravovat je veliká spousta drahé práce. Následné testování a údržba změn je ještě horší. BTW i velká většina supportu končí bez nutnosti zásahu do kódu. Navíc jedna věc je možnost rýpat do zdrojáku, a druhá věc je nutnost to dělat, protože produkt napsaný nekvalitně.
No ale to tu pletiete dve veci. Naco by mi bolo na mobilne platforme WCF?
Kazda mobilna platforma, aj IOS aj Android ma svoj sposob generovania UI a WCF by tomu moc nepomohlo. Ostatne aj na desktope mam pocit ze to s tym WCF neni az take slavne. Kazda vecsia aplikacia aj tak nakoniec pouziva WF.
A moj osobny nazor na silverlight je taky ze ten bol mrtvy uz ked si s nim microsoft zacal, a v podstate to tak vyzera s nim aj na webe.Bud sa pouziva na nejakych MS spriatelenych weboch alebo potom skor ako nejaka fancy vychytavka, preto sa ani nedivim ze moonlight v podstate tiez vykapal.
Ale neodsudzoval by som Xamarin tak rychlo.