infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?Infoshare
Rafał Czupryński / Microsoft
Aplikacje na Windows Phone - jak to ugryźć?
Prezentacja z konferencji infoShare 2013
Presented at infoShare 2013 conference in Gdańsk, Poland.
Marcin opowie w jaki sposób dostał się do Automattic pomimo małego doświadczenia z WordPressem i jego środowiskiem. Opisze także proces rekrutacji programistów oraz zdradzi, jak wygląda codzienna praca w tej firmie.
***
Marcin Bot podczas WordCamp Lublin 2017:
https://2017.lublin.wordcamp.org/session/od-zera-do-automattica/
Współdzielenie kodu aplikacji Windows Phone i Windows 8Bartlomiej Zass
Przegląd technik współdzielenia kodu aplikacji między Windows Phone i Windows 8 (WinRT). Omawiane jest zarówno podejście opierające się o HTML i Javascript jak i aplikacje natywne (wzorzec MVVM, portable class libraries, wybrane praktyki architektoniczne i sztuczki w IDE).
Sie erhalten bis zu 50% pro Sale und 0,50 Euro pro Lead. Jede Transaktion wird innerhalb der 60 Tage Cookielaufzeit vergütet, zudem gibt es Produkte mit attraktiver Lifetime Provision. Profitieren Sie von einem eigenen Affiliate Manager, einem hochwertigem Netzwerk (digistore24), regelmäigen Webinaren für Affiliates und vielem mehr. http://affiliate.presalesmarketing.com/
Ganz konkret: Sie brauchen ein Konzeptionelles System, Software und die entsprechenden Dienstleister und Outsourcingpartner, das ist alles. Einmal angestoßen, arbeitet Ihr Vertrieb vollautomatisch und Sie haben wieder Zeit, sich auf Ihre eigentlichen Kernaufgaben zu konzentrieren.
PreSales Marketing
Entlastet wertvolle Vertriebsmitarbeiter durch Automatisierung von Routineaufgaben
Sorgt für einen stetigen Zustrom an Interessenten, die sich durch direkte und persönliche Beziehungen zu echten Stammkunden entwickeln
Ist ein System, das sich auf nahezu jede Branche und jedes Unternehmen anwenden lässt
Verursacht geringe Kosten und spart durch effiziente, schlanke Prozesse noch laufende kosten ein!
Nutzen Sie die Gelegenheit, sich hier auf den folgenden Seiten umfassend über PreSales Marketing und die Möglichkeiten der automatisierten Vertriebsanbahnung zu informieren. Verlassen Sie den Kreislauf der lästigen Routinearbeit!
http://www.presalesmarketing.com/
Der Alltag in den meisten Unternehmen besteht in immer gleichen Abläufen, wiederkehrenden und unbefriedigenden Aufgaben und vor allem der mühsamen Suche nach Neukunden. Die aber lassen sich kaum noch ansprechen über klassische Marketingwege. Das demotiviert Unternehmer und ihre Angestellten, der Vertrieb ist weniger effizient als er sein könnte und belastet mit Routinearbeiten. Wollen Sie zurück zu Ihrem Kerngeschäft, während kaufbereite Interessenten von allein auf Ihre Angebote stoßen? Dann legen Sie entweder Ihren Vertrieb in mitunter teure Dienstleister-Hände oder stellen Ihn selbst auf Autopilot um.
Die Kosten für den Vertrieb auf Autopilot, ja selbst das Unternehmen auf Autopilot sind niedrig, teils sind lediglich Investitionen im unteren einhundert Euro Bereich notwendig. Ganz konkret: Sie brauchen ein Konzeptionelles System, Software und die entsprechenden Dienstleister und Outsourcingpartner, das ist alles. Einmal angestoßen, arbeitet Ihr Vertrieb vollautomatisch und Sie haben wieder Zeit, sich auf Ihre eigentlichen Kernaufgaben zu konzentrieren.
PreSales Marketing
Entlastet wertvolle Vertriebsmitarbeiter durch Automatisierung von Routineaufgaben
Sorgt für einen stetigen Zustrom an Interessenten, die sich durch direkte und persönliche Beziehungen zu echten Stammkunden entwickeln
Ist ein System, das sich auf nahezu jede Branche und jedes Unternehmen anwenden lässt
Verursacht geringe Kosten und spart durch effiziente, schlanke Prozesse noch laufende kosten ein!
Nutzen Sie die Gelegenheit, sich hier auf den folgenden Seiten umfassend über PreSales Marketing und die Möglichkeiten der automatisierten Vertriebsanbahnung zu informieren. Verlassen Sie den Kreislauf der lästigen Routinearbeit!
http://www.presalesmarketing.com/
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
Android, iOS, Windows Phone... Czy zróżnicowanie platform i języków programowania musi być przeszkodą w tworzeniu aplikacji mobilnych? Na szczęście nie! Dzięki technologiom webowym możemy tworzyć oprogramowanie działające na wielu platformach, a posiadane doświadczenie w HTML i JavaScript może znacznie przyspieszyć pracę i ukończenie projektu. Podczas wystąpienia zostaną przedstawione dostępne narzędzia i biblioteki do tworzenia cross-platformowych aplikacji mobilnych.
infoShare 2013: Rafał Czupryński - Aplikacje na Windows Phone 8 - jak to ugryźć?Infoshare
Rafał Czupryński / Microsoft
Aplikacje na Windows Phone - jak to ugryźć?
Prezentacja z konferencji infoShare 2013
Presented at infoShare 2013 conference in Gdańsk, Poland.
Marcin opowie w jaki sposób dostał się do Automattic pomimo małego doświadczenia z WordPressem i jego środowiskiem. Opisze także proces rekrutacji programistów oraz zdradzi, jak wygląda codzienna praca w tej firmie.
***
Marcin Bot podczas WordCamp Lublin 2017:
https://2017.lublin.wordcamp.org/session/od-zera-do-automattica/
Współdzielenie kodu aplikacji Windows Phone i Windows 8Bartlomiej Zass
Przegląd technik współdzielenia kodu aplikacji między Windows Phone i Windows 8 (WinRT). Omawiane jest zarówno podejście opierające się o HTML i Javascript jak i aplikacje natywne (wzorzec MVVM, portable class libraries, wybrane praktyki architektoniczne i sztuczki w IDE).
Sie erhalten bis zu 50% pro Sale und 0,50 Euro pro Lead. Jede Transaktion wird innerhalb der 60 Tage Cookielaufzeit vergütet, zudem gibt es Produkte mit attraktiver Lifetime Provision. Profitieren Sie von einem eigenen Affiliate Manager, einem hochwertigem Netzwerk (digistore24), regelmäigen Webinaren für Affiliates und vielem mehr. http://affiliate.presalesmarketing.com/
Ganz konkret: Sie brauchen ein Konzeptionelles System, Software und die entsprechenden Dienstleister und Outsourcingpartner, das ist alles. Einmal angestoßen, arbeitet Ihr Vertrieb vollautomatisch und Sie haben wieder Zeit, sich auf Ihre eigentlichen Kernaufgaben zu konzentrieren.
PreSales Marketing
Entlastet wertvolle Vertriebsmitarbeiter durch Automatisierung von Routineaufgaben
Sorgt für einen stetigen Zustrom an Interessenten, die sich durch direkte und persönliche Beziehungen zu echten Stammkunden entwickeln
Ist ein System, das sich auf nahezu jede Branche und jedes Unternehmen anwenden lässt
Verursacht geringe Kosten und spart durch effiziente, schlanke Prozesse noch laufende kosten ein!
Nutzen Sie die Gelegenheit, sich hier auf den folgenden Seiten umfassend über PreSales Marketing und die Möglichkeiten der automatisierten Vertriebsanbahnung zu informieren. Verlassen Sie den Kreislauf der lästigen Routinearbeit!
http://www.presalesmarketing.com/
Der Alltag in den meisten Unternehmen besteht in immer gleichen Abläufen, wiederkehrenden und unbefriedigenden Aufgaben und vor allem der mühsamen Suche nach Neukunden. Die aber lassen sich kaum noch ansprechen über klassische Marketingwege. Das demotiviert Unternehmer und ihre Angestellten, der Vertrieb ist weniger effizient als er sein könnte und belastet mit Routinearbeiten. Wollen Sie zurück zu Ihrem Kerngeschäft, während kaufbereite Interessenten von allein auf Ihre Angebote stoßen? Dann legen Sie entweder Ihren Vertrieb in mitunter teure Dienstleister-Hände oder stellen Ihn selbst auf Autopilot um.
Die Kosten für den Vertrieb auf Autopilot, ja selbst das Unternehmen auf Autopilot sind niedrig, teils sind lediglich Investitionen im unteren einhundert Euro Bereich notwendig. Ganz konkret: Sie brauchen ein Konzeptionelles System, Software und die entsprechenden Dienstleister und Outsourcingpartner, das ist alles. Einmal angestoßen, arbeitet Ihr Vertrieb vollautomatisch und Sie haben wieder Zeit, sich auf Ihre eigentlichen Kernaufgaben zu konzentrieren.
PreSales Marketing
Entlastet wertvolle Vertriebsmitarbeiter durch Automatisierung von Routineaufgaben
Sorgt für einen stetigen Zustrom an Interessenten, die sich durch direkte und persönliche Beziehungen zu echten Stammkunden entwickeln
Ist ein System, das sich auf nahezu jede Branche und jedes Unternehmen anwenden lässt
Verursacht geringe Kosten und spart durch effiziente, schlanke Prozesse noch laufende kosten ein!
Nutzen Sie die Gelegenheit, sich hier auf den folgenden Seiten umfassend über PreSales Marketing und die Möglichkeiten der automatisierten Vertriebsanbahnung zu informieren. Verlassen Sie den Kreislauf der lästigen Routinearbeit!
http://www.presalesmarketing.com/
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
Android, iOS, Windows Phone... Czy zróżnicowanie platform i języków programowania musi być przeszkodą w tworzeniu aplikacji mobilnych? Na szczęście nie! Dzięki technologiom webowym możemy tworzyć oprogramowanie działające na wielu platformach, a posiadane doświadczenie w HTML i JavaScript może znacznie przyspieszyć pracę i ukończenie projektu. Podczas wystąpienia zostaną przedstawione dostępne narzędzia i biblioteki do tworzenia cross-platformowych aplikacji mobilnych.
Wykład przeprowadzony na kole naukowym TeMoMuKo 10 listopada 2016 na Politechnice Wrocławskiej rozpoczynający serię 8 wykładów wprowadzających w świat iOS Development'u.
Zastanawiasz się nad karierą mobile developera? Chcesz spróbować sił w języku Swift? Nie wiesz od czego zacząć naukę programowania aplikacji mobilnych? Weź udział w naszych wykładach z podstaw Swifta!
Razem z kołem naukowym KN Temomuko poprowadzimy cykl wykładów na Politechnice Wrocławskiej z tajników programowania w języku Swift.
Kivy to biblioteka pythonowa do tworzenia wieloplatformowych aplikacji GUI.
Samples: https://github.com/daftcode/pywaw_kivy_na_androidzie/blob/master/README.md
Platforma .NET staje się coraz bardziej popularna. Powstaje coraz więcej aplikacji realizowanych właśnie pod jej kątem. Udostępniane przez platformę .NET mechanizmy pozwalają na szybkie tworzenie aplikacji, co przysparza jej wielu zwolenników. Do stworzenia aplikacji nie wystarczą jednak tylko mechanizmy, nawet najlepsze. Niezbędne jest wygodne i uniwersalne środowisko programowania, jakim niewątpliwie jest Delphi. Jego najnowsza wersja umożliwia pełne wykorzystanie potencjału platformy .NET.
"Delphi dla .NET. Vademecum profesjonalisty" to podręcznik przedstawiający możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland. W książce zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Książka zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych. Znajdziesz tu także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
* Podstawowe wiadomości o platformie .NET i rodzaje aplikacji .NET
* Przegląd elementów platformy .NET
* Delphi for .NET -- środowisko i język programowania
* Biblioteka klas platformy .NET
* Korzystanie z biblioteki GDI+
* Środowisko Mono
* Programowanie wielowątkowe
* Usługi COM Interop i Platform Invocation Service
* Programowanie aplikacji bazodanowych
* Tworzenie stron WWW w technologii ASP.NET
Jeśli szukasz książki poświęconej technologii .NET i programowaniu w języku Delphi aplikacji zgodnych z tą technologią, trafiłeś najlepiej, jak tylko mogłeś.
O autorze:
Xavier Pacheco jest autorem bestsellerowych książek o środowisku Delphi, jest znanym na całym świecie programistą, autorem, konsultantem i wykładowcą.
[więcej...]
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuMichal Lukaszewski
Prezentacja przygotowana na potrzeby cyklu Launch & Learn prowadzonego w Young Digital Planet. Autorzy: Sławek Rodak i Michał Łukaszewski (ja).
Prelekcja składała się z dwóch części:
1. Czego technologia oczekuje od biznesu aby przygotować dobry produkt uwzględniający urządzenia mobilne
2. Co technologia musi wiedzieć aby wesprzeć biznes w realizacji dobrego produktu.
Kosmikus, produkt YDP, jako studium przypadku - jakie technologie zostały wybrane i dlaczego, gdzie były kompromisy i dlaczego.
Przegląd najważniejszych technologii pozwalających zrealizować aplikacje dostępne na szerokim spektrum urządzeń.
Mnóstwo linków do źródeł, porównań.
Prezentacja do ściągnięcia również stąd:
http://sdrv.ms/MtH62k
W razie pytań, wątpliwości, chęci podyskutowania - zapraszm do kontaktu :)
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Wojciech Sznapka
- oprogramowanie dedykowane vs. produkty Open Source gotowe do użycia – w którym momencie te drugie przestają być wystarczające,
- jaką wartością jest indywidualne podejście do zagadnienia i gdzie każdy z udziałowców projektu otrzymuje największe korzyści,
- po co komu framework, skoro można wszystko samemu napisać najlepiej?
- Symfony2, jego historia, możliwości i usytuowanie na rynku,
- przykłady z życia codziennego, jak PHP i Symfony2 zwinnie daje radę w przeróżnych dziedzinach software developmentu.
Jak zorganizować sobie Continuous Integration i Continuous Delivery w projekcie o niezwykle małym budżecie
W trakcie prezentacji dotknięte zostaną następujące zagadnienia:
- sposób organizacji projektu pod kątem wprowadzania CI / CD
- użycie kontenerów w celu przeprowadzania wyżej wymienionych procesów
- zalecenia odnośnie stosowania narzędzi takich jak TeamCity, Docker, Ansible, Git, Make, skrypty Bash, Phing itp.
- wskazanie pułapek o których trzeba pamiętać
Jakie są trzy możliwości kodowania aplikacji mobilnych? Jakie są ich wady i zalety? Kiedy najlepiej sprawdzi się kodowanie natywne, kiedy wybrać aplikację hybrydową, kiedy z kolei postawić na aplikację przeglądarkową.
Rynek gier mobilnych jest w fazie intensywnego wzrostu. Wg prognoz firmy badawczej Newzoo, sektor gier mobilnych rozrasta się tak szybko, że w 2015 będzie większy od konsolowego. Oznacza to, że gry mobilne staną się najbardziej dochodowym sektorem branży.
Prezentacja odpowie na szereg istotnych pytań związanym z procesem produkcji i publikacji aplikacji mobilnych, między innymi:
• Czym powinien kierować się developer wybierając technologię do tworzenia gry?
• Na którą platformę wydać grę w pierwszej kolejności: Androida czy na iOSa? Czy to ma znaczenie?
• Co robić po wydaniu gry, aby zwiększyć szansę na komercyjny sukces?
Pierwsza edycja języka C# 1.0 pojawiła się 2002 roku. Obecnie więc C# ma 12 lat. (2014)
W roku 2005 pojawiła się wersja 2.0 a wraz z nią typy generyczne (List<t>). Teraz trudno sobie wyobrazić programowanie bez nich.
W roku 2007 do C# 3.0 został dodany LINQ czyli wyrażenia lambda, zapytania, które filtrują po kolekcjach obiektów oraz po kolekcjach ORM, które zostały dopiero pobrane. Nie jestem w stanie wyobrazić sobie programowania bez LINQ.
W roku 2010 do C# 4.0 został dodane słowo kluczowe “dynamic” . Programowanie dynamicznie nie jest czymś, co możesz robić każdego dnia. Ja na przykład nie używałem tego mechanizmu wcale. Jednakże ten dynamiczny mechanizm pozwala w statycznym typowanym języku, jakim jest C# na ciekawe użycia innych bibliotek, napisanych choćby w Pythonie. Coś jest statycznie deklarowane, że będzie dynamicznie. Tak to działa.
W 2012 roku do C# 5.0 zostały dodane słowa kluczowe “async” i “await”. Pozwalają one na łatwiejsze pisanie i wywoływanie asynchronicznych funkcji, choćby wezwań do usługi WCF.
Wiem, że ma się pojawić się wersja 6.0. Co nowego ta wersja przyniesie?
Wykład przeprowadzony na kole naukowym TeMoMuKo 10 listopada 2016 na Politechnice Wrocławskiej rozpoczynający serię 8 wykładów wprowadzających w świat iOS Development'u.
Zastanawiasz się nad karierą mobile developera? Chcesz spróbować sił w języku Swift? Nie wiesz od czego zacząć naukę programowania aplikacji mobilnych? Weź udział w naszych wykładach z podstaw Swifta!
Razem z kołem naukowym KN Temomuko poprowadzimy cykl wykładów na Politechnice Wrocławskiej z tajników programowania w języku Swift.
Kivy to biblioteka pythonowa do tworzenia wieloplatformowych aplikacji GUI.
Samples: https://github.com/daftcode/pywaw_kivy_na_androidzie/blob/master/README.md
Platforma .NET staje się coraz bardziej popularna. Powstaje coraz więcej aplikacji realizowanych właśnie pod jej kątem. Udostępniane przez platformę .NET mechanizmy pozwalają na szybkie tworzenie aplikacji, co przysparza jej wielu zwolenników. Do stworzenia aplikacji nie wystarczą jednak tylko mechanizmy, nawet najlepsze. Niezbędne jest wygodne i uniwersalne środowisko programowania, jakim niewątpliwie jest Delphi. Jego najnowsza wersja umożliwia pełne wykorzystanie potencjału platformy .NET.
"Delphi dla .NET. Vademecum profesjonalisty" to podręcznik przedstawiający możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland. W książce zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Książka zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych. Znajdziesz tu także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
* Podstawowe wiadomości o platformie .NET i rodzaje aplikacji .NET
* Przegląd elementów platformy .NET
* Delphi for .NET -- środowisko i język programowania
* Biblioteka klas platformy .NET
* Korzystanie z biblioteki GDI+
* Środowisko Mono
* Programowanie wielowątkowe
* Usługi COM Interop i Platform Invocation Service
* Programowanie aplikacji bazodanowych
* Tworzenie stron WWW w technologii ASP.NET
Jeśli szukasz książki poświęconej technologii .NET i programowaniu w języku Delphi aplikacji zgodnych z tą technologią, trafiłeś najlepiej, jak tylko mogłeś.
O autorze:
Xavier Pacheco jest autorem bestsellerowych książek o środowisku Delphi, jest znanym na całym świecie programistą, autorem, konsultantem i wykładowcą.
[więcej...]
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuMichal Lukaszewski
Prezentacja przygotowana na potrzeby cyklu Launch & Learn prowadzonego w Young Digital Planet. Autorzy: Sławek Rodak i Michał Łukaszewski (ja).
Prelekcja składała się z dwóch części:
1. Czego technologia oczekuje od biznesu aby przygotować dobry produkt uwzględniający urządzenia mobilne
2. Co technologia musi wiedzieć aby wesprzeć biznes w realizacji dobrego produktu.
Kosmikus, produkt YDP, jako studium przypadku - jakie technologie zostały wybrane i dlaczego, gdzie były kompromisy i dlaczego.
Przegląd najważniejszych technologii pozwalających zrealizować aplikacje dostępne na szerokim spektrum urządzeń.
Mnóstwo linków do źródeł, porównań.
Prezentacja do ściągnięcia również stąd:
http://sdrv.ms/MtH62k
W razie pytań, wątpliwości, chęci podyskutowania - zapraszm do kontaktu :)
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Wojciech Sznapka
- oprogramowanie dedykowane vs. produkty Open Source gotowe do użycia – w którym momencie te drugie przestają być wystarczające,
- jaką wartością jest indywidualne podejście do zagadnienia i gdzie każdy z udziałowców projektu otrzymuje największe korzyści,
- po co komu framework, skoro można wszystko samemu napisać najlepiej?
- Symfony2, jego historia, możliwości i usytuowanie na rynku,
- przykłady z życia codziennego, jak PHP i Symfony2 zwinnie daje radę w przeróżnych dziedzinach software developmentu.
Jak zorganizować sobie Continuous Integration i Continuous Delivery w projekcie o niezwykle małym budżecie
W trakcie prezentacji dotknięte zostaną następujące zagadnienia:
- sposób organizacji projektu pod kątem wprowadzania CI / CD
- użycie kontenerów w celu przeprowadzania wyżej wymienionych procesów
- zalecenia odnośnie stosowania narzędzi takich jak TeamCity, Docker, Ansible, Git, Make, skrypty Bash, Phing itp.
- wskazanie pułapek o których trzeba pamiętać
Jakie są trzy możliwości kodowania aplikacji mobilnych? Jakie są ich wady i zalety? Kiedy najlepiej sprawdzi się kodowanie natywne, kiedy wybrać aplikację hybrydową, kiedy z kolei postawić na aplikację przeglądarkową.
Rynek gier mobilnych jest w fazie intensywnego wzrostu. Wg prognoz firmy badawczej Newzoo, sektor gier mobilnych rozrasta się tak szybko, że w 2015 będzie większy od konsolowego. Oznacza to, że gry mobilne staną się najbardziej dochodowym sektorem branży.
Prezentacja odpowie na szereg istotnych pytań związanym z procesem produkcji i publikacji aplikacji mobilnych, między innymi:
• Czym powinien kierować się developer wybierając technologię do tworzenia gry?
• Na którą platformę wydać grę w pierwszej kolejności: Androida czy na iOSa? Czy to ma znaczenie?
• Co robić po wydaniu gry, aby zwiększyć szansę na komercyjny sukces?
Pierwsza edycja języka C# 1.0 pojawiła się 2002 roku. Obecnie więc C# ma 12 lat. (2014)
W roku 2005 pojawiła się wersja 2.0 a wraz z nią typy generyczne (List<t>). Teraz trudno sobie wyobrazić programowanie bez nich.
W roku 2007 do C# 3.0 został dodany LINQ czyli wyrażenia lambda, zapytania, które filtrują po kolekcjach obiektów oraz po kolekcjach ORM, które zostały dopiero pobrane. Nie jestem w stanie wyobrazić sobie programowania bez LINQ.
W roku 2010 do C# 4.0 został dodane słowo kluczowe “dynamic” . Programowanie dynamicznie nie jest czymś, co możesz robić każdego dnia. Ja na przykład nie używałem tego mechanizmu wcale. Jednakże ten dynamiczny mechanizm pozwala w statycznym typowanym języku, jakim jest C# na ciekawe użycia innych bibliotek, napisanych choćby w Pythonie. Coś jest statycznie deklarowane, że będzie dynamicznie. Tak to działa.
W 2012 roku do C# 5.0 zostały dodane słowa kluczowe “async” i “await”. Pozwalają one na łatwiejsze pisanie i wywoływanie asynchronicznych funkcji, choćby wezwań do usługi WCF.
Wiem, że ma się pojawić się wersja 6.0. Co nowego ta wersja przyniesie?
5. System homogenicznych firm się rozpada
• Firmy koncentrują się zwykle na jednej
platformie i na jednym języku.
• Zwykle jest to C# i .NET.
• Rynek mobilny przypomniał, że trzeba
specjalistów z różnorodnych platform i
języków.
25. There is hope:
• Wracasz z pracy.
• Jaką formę rozrywki po pracy wybrać
• …nie grasz w gry bo nie masz na to
czasu.
• …ty oglądasz jak ktoś gra w grę.
29. Koszty
• 399$ dla firmy która ma mniej niż 10
pracowników. Licencja jest na jedną
osobę.
• 999$ dla firmy która ma więcej niż 10
pracowników. Licencja jest dla każdego
pracownika.
38. Co to znaczy natywny
• Różne interpretacje natywności
Objective C/
C++
C/C++
Inna architektura
CPU
C#
/Silverlight/
WinRT? XNA
39. Znaczenie natywności
• Natywny = używa platformy i bibliotek
OS nie zależnie od języka czy narzędzi.
• Natywny = Doświadczenie użytkownika
które w 100% scala się z domyślny
doświadczeniem przygotowanym przez
twórcę platformy „X”.
40. 3 różne natywność
XCODE
Objective C
Android SDK
JAVA
WP 7
SIlverlight
Narzędzia dostawcy Magiczne pudełko
Adobe Air
ActionScript
Rhodes
Ruby + HTML
Symbas
Unwired
„4GL” Code
gene
Antenna
Rapid
Scripting
Language
Phone Gap
HTML 5
Appcelerator
Titanium
JavaScrip >
Native
43. Czy to prawda
• Nie pokaże wam kodu który to
potwierdzi
• Jednak wystarczy użyć trochę logik by
stworzyć konstruktywny dowód.
• Wszystko sprowadza się do kompilatora
44. Mono C# vs Java
• Android i Java
– Android nie używa kodu natywnego
– Działa on VM „Dalvik” (który uruchamia
binarny kod Javy)
– Mono JIT został porównany i…
– …jest szybszy
http://www.koushikdutta.com/2009/01/dalv
ik-vs-mono.html
45. Mono C# vs Java
• Android i Java
– Jednak Mono musi się komunikować z
„Dalvik”.
46. Mono C# vs Objective C
• W przypadku Objective-C
– IOS i MonoTouch kompiluje kod do
natywnej aplikacji przed jej instalacją na
urządzenie Apple (wynika to z licencji)
– Mono i Objective C podobno używają tej
samej maszyny (LLVM) który ten kod
generuje więc nie powinno być żadnej
różnicy.
47. Szczególnie dotyczy to urządzeń mobilnych
Jeśli coś wolno działa to raczej to twoja winna
Nie twórz czegoś co przekracza możliwości urządzenia
48. Postrzegana wydajność
Spraw by aplikacja
byłą szybka
• Utrzymaj mały
rozmiar aplikacji
• Utnij czas startu
aplikacji
• Działaj w tle
Wydajność jest ukryta w oku
obserwatora
50. Możecie mieć dostęp do wszystkich możliwości
urządzenia
• Dla każdego urządzenia jest zestaw przestrzeni
nazw które umożliwiają dostęp do urządzenia.
Używaj abstrakcji
55. O czym zapominamy
• Styl aplikacji
– Widziałem dużo aplikacji IPhone na WP8
• Było to koszmarne przeżycie
• Specyfika urządzenia
– Android ma tyle różnych rozmiarów itp.
58. Model ale nie jego wykonanie
• Jest cykl życia aplikacji
• Zapisywanie stanu aplikacji
• Sandbox
• Łączność z Internetem
• Szyfrowanie informacji
• Dostęp do właściwości urządzenia.
• Tosty
59. Usługi sieciowe
• Jakiej technologii używamy by uzyskać dostęp
do danych.
– Powinniśmy używać REST
• Lekkie dla telefonu.
• Dużo własnego kodu
– Powinniśmy używać SOAP ?
• Narzędzia które generują proxy.
• Za ciężkie dla telefonu
– RIA Service
• Utworzenie endpointów XML,JSON i ODATA
67. PORTABLE CLASS LIBRARY
• Zalety
– Jedna biblioteka do wszystkich platform
– Pomaga w tworzeniu wspólnego
podzbioru
• Wady
– Brak dyrektyw PreProccesor
– Brak kodu specyficznego dla platformy
– Brak wsparcia dla MonoDevlop
70. Linked Files
• Zalety
– Ten sam kod na wszystkich platformach
– Możliwość dodanie kodu specyficznego
dla platformy
– Dyrektywy Preprocessor
• Wady
– Potrzeba zarządzania wieloma projektami
74. VSMonoTouch
• Zalety
– Otwiera i weryfikuje projekty MonoTouch
w VS2010 (Windows)
• Wady
– Brak prawdziwej <kompilacji>
– Pewne kroki manualne trzeba wykonać
80. // Windows Phone 7
public class DispatchAdapter : IDispatchOnUIThread
{
public void Invoke(Action action)
{
Deployment.Current.Dispatcher.BeginInvoke(action);
}
}
81. // Mono for Android
public class DispatchAdapter : IDispatchOnUIThread
{
private readonly Activity _owner;
public DispatchAdapter(Activity owner)
{
_owner = owner;
}
public void Invoke(Action action)
{
_owner.RunOnUiThread(action);
}
}
82. // Monotouch
public class DispatchAdapter : IDispatchOnUIThread
{
private readonly NSObject _owner;
public DispatchAdapter(NSObject owner)
{
_owner = owner;
}
public void Invoke (Action action)
{
_owner.BeginInvokeOnMainThread(
new NSAction(action));
}
}
94. XML vs XAML
• Windows Phone 7, Windows 8
• Monodroid
95. MVVM
• Zalety
– Jeszcze większe dzielenie kodu
– Testowalne ViewModel
• Wady
– Więcej abstrakcji w kodzie
– Może wydawać się nienaturalny dla
platformy
– MVVMCross nie posiada dużo
przykładów