W czym napisać apkę na mobile? C#?

0

Cześć,
jestem początkujący w programowaniu, znam podstawy C#, podstawy obiektowości, wzorce, wszystkiego po trochu. Mam parę drobnych projektów na koncie w C# pod VS2013. Czysty C#, bez frameworków, bez MVC i EE - nad czym ubolewam :(
Głównie szkolne projekty - 4 rok infy na WIT Warszawa.

Potrzebuję do pracy zawodowej napisać apkę na mobile, raczej wybiorę pod Androida ze względu na popularność.
Apka to ma być taki "serwis informacyjny".

Działać ma to tak:
Jest sobie gdzieś ludzik z uprawnieniami admina/modera, który dodaje newsa do bazy danych (czy to w ogóle na bazie postawić???), oczywiście z poziomu PC. A'la serwer informacyny.
Klienci mają zainstalowane na swoich smartfonach apkę i podczas połączenia do internetu pobierają sobie tego "newsa" na swoje telefony i odczytują.

To ma być taki prosty ale skuteczny system informujący o np. promocjach sklepowych.

W czym i jak to napisać?

Nie ukrywam, że najbardziej bym chciał właśnie C#, VS, + nauka MVC, EE.
Czy to ma sens pod Androidem?

Niedługo będą musiał też napisać coś webowego w C# i nie chciałbym aby nauka poszła w las więc chciałbym zrobić to w jednej technologii..

Pozdrawiam :)

0

Polecam COBOL - nowoczesny, dynamiczny i rozszerzalny język kompilowany pod wiele platform.

Typie - ty się nie zastanawiaj w czym. Jeśli coś da się eksportować na androida (a da się wszystko, ino cza umić), to się nadaje. Jak ci powiem, że najlepiej jest się nauczyć i pisać w Assembly, to chwycisz specyfikację ARMv7 i zaczniesz się uczyć? Pisz w czym chcesz. Poza tym, taki wątek pojawia się raz na tydzień...

@Azarien teraz pisze silnik i grę na DOSa. I co? Ktoś mu zabroni? Ma ochotę, to pisze. I nie zakłada kolejnego redundantnego wątku na forum.

0

Mi najwygodniej było pisać w Unity 3D :) Masz tam C#, eksport APK dla Androida to kilka kliknięć (tylko trzeba zainstalować SDK).

0

Typy,
mi nie chodziło o motywację poza informatyczną do zrobienia tej apki czy rozpisywania się o sensie nauki lub nie.

Bardziej pytam o techniczny sens takiego rozwiązania czyli apka na Androida w C# pod VS2013.

Że się da to ja wiem, natomiast nie wiem czy nie wymyślam koła na nowo i czy nie da się tego zrobić prościej, szybciej i łatwiej w innej technologii?

Nie obserwuję trendów w tych technologiach i nie wiem czy już VS dobrze działa z Androidem bo pamiętam, że kiedyś na Androida to tylko Java i OC...

Pozdro Typy! :)

1

Jakie C#? Xamarin? Nie bądź śmieszny. Android Studio i piszesz w javie. Po twoim pytaniu wnioskuję że porywasz się i tak z motyką na słońce

0

VS 2015 udostępnia Xamarin, również na upartego możesz samemu zainstalować Xamarin PE. W chwili obecnej masz za darmo trzeba tylko pogrzebać za instalatorem. czyli możesz pisać pod VS i na Androida, iOS czy Windows for Mobile.

2
Złoty Terrorysta napisał(a):

Jakie C#? Xamarin? Nie bądź śmieszny. Android Studio i piszesz w javie. Po twoim pytaniu wnioskuję że porywasz się i tak z motyką na słońce

A pod Windowsa/Linuksa/OSX piszmy tylko w C/C++ :)

Prawda jest taka, że teraz tworząc aplikację nie chcemy wspierać tylko jednej platformy. Najlepiej jest pisać przez jakąś warstwę pośrednią, która wspiera różne systemy. Obojętnie, czy w Javie, czy w C#, trzeba znaleźć wieloplatformowe rozwiązanie dla tych języków.

0

Bez przesady. Przeważnie wystarczy nam Android i czasem iOS. Jestem zwolennikiem stosowania narzędzi od producenta, a nie jakiegoś międzymordzia

0
Zibiiiii napisał(a):

Przeważnie wystarczy nam Android i czasem iOS.

Dobra to w czym zrobić "część wspólną"? Zostaje C i C++.

0

Do iOS i tak niczego nie zrobisz bez zapłacenia firmie Apple. Windows Phone możesz spokojnie olać bo i tak tylko kilku fanbojów go używa na przekór normalnym ludziom, a za kilka lat i tak MS go ubije bo tylko straty przynosi. Nie ma sensu w ogóle się w to pchać.

A co zostaje? Tylko Android

0
Zibiiiii napisał(a):

A co zostaje? Tylko Android

Tak na to właśnie czekałem #platformwars :D Ok ale tak można myśleć jeśli się działa na własną rękę. Powiedzmy robisz w outsourcingu przyjdzie klient i zamówi apkę na 3 platformy i powiesz mu że nie lubisz Apple?

2

Skoro chcesz pisać w C# to jedynym logicznym wyborem jest Xamarin. Jeśli zależy Ci na szybkich efektach i/lub napisaniu wieloplatformowej aplikacji w możliwie najprostszy sposób to celuj w Xamarin Forms. No i chyba tyle w tym temacie, nie ma co bezsensownych wojen prowadzić.

0

Jeżeli znasz C# i chcesz pisać apkę na telefon, to warto rozważyć Windows Phone, oczywiście trzeba odrobinę ogarnąć XAML'a.

0
lubububu napisał(a):
Zibiiiii napisał(a):

A co zostaje? Tylko Android

Tak na to właśnie czekałem #platformwars :D Ok ale tak można myśleć jeśli się działa na własną rękę. Powiedzmy robisz w outsourcingu przyjdzie klient i zamówi apkę na 3 platformy i powiesz mu że nie lubisz Apple?

Ja zajmuję się programowaniem pod Androida, więc nikt do mnie nie przyjdzie i nie powie że chce coś na iOS

0
Złoty Orzeł napisał(a):

Cześć,
jestem początkujący w programowaniu, znam podstawy C#, podstawy obiektowości, wzorce, wszystkiego po trochu. Mam parę drobnych projektów na koncie w C# pod VS2013. Czysty C#, bez frameworków, bez MVC i EE - nad czym ubolewam :(
Głównie szkolne projekty - 4 rok infy na WIT Warszawa.

Potrzebuję do pracy zawodowej napisać apkę na mobile, raczej wybiorę pod Androida ze względu na popularność.
Apka to ma być taki "serwis informacyjny".

Działać ma to tak:
Jest sobie gdzieś ludzik z uprawnieniami admina/modera, który dodaje newsa do bazy danych (czy to w ogóle na bazie postawić???), oczywiście z poziomu PC. A'la serwer informacyny.
Klienci mają zainstalowane na swoich smartfonach apkę i podczas połączenia do internetu pobierają sobie tego "newsa" na swoje telefony i odczytują.

To ma być taki prosty ale skuteczny system informujący o np. promocjach sklepowych.

W czym i jak to napisać?

Nie ukrywam, że najbardziej bym chciał właśnie C#, VS, + nauka MVC, EE.
Czy to ma sens pod Androidem?

Niedługo będą musiał też napisać coś webowego w C# i nie chciałbym aby nauka poszła w las więc chciałbym zrobić to w jednej technologii..

Pozdrawiam :)

Kiedy robisz stronę www to nie robisz jej w C++ tylko w prędzej w HTML. To samo tutaj, C# niby jest co raz to bardziej otwarty, ale to głównie Java jest przenośna, android robi swoje, a lęk przed tym językiem możesz sobie znaleźć i w C#, bo to są dwa dość podobne języki i z czego słyszałem nie ma problemów z przesiadką. Oczywiście można spróbować w cisie to zrobić, ale jeżeli chodzi o mobilność to Java.

0

Jak można przeczytać w linku podanym przez Aventusa:

//C# is the best language for mobile app development.
Anything you can do in Objective-C, Swift or Java, you can do in C#.//

I o to mi chodziło :)

Zrobię tak jak napisał Aventus. Ze względu na to, że znam już co nieco C# i środowisko VS spróbuję napisać tę apkę w C#.
Co wyjdzie - zobaczymy.
To ma być prosty projekt do moich własnych zastosowań - nie piszę tego na sprzedaż.

W pierwotnej wersji chciałem żeby to działało na 3 platformy: iOS, Android, Windows Phone. Z tego co czytam tutaj odradzacie już zabawę z Windows Phone. Czy macie jakieś wykresy, dane, statystyki czy cokolwiek takiego żebym zobaczył procentowy podział rynku między te 3 platformy i **prognozy jak to może wyglądać w przyszłości? **Jeśli WP upadnie to raczej pójdzie to w Androida czy iOSa?

0
Złoty Orzeł napisał(a):

**prognozy jak to może wyglądać w przyszłości? **Jeśli WP upadnie to raczej pójdzie to w Androida czy iOSa?

Jeśli chcesz iść w mainstream to Android (mówię to jako iOS-owiec i tu się akurat zgodzę z przedmówcą). Chyba że chcesz robić dla zagranicy, zdalnie itp.

0

TUTAJ podają że w pierwszym kwartale 2016 udziały WP w sprzedaży smartphone'ów wyniosły poniżej jednego procenta także faktycznie biednie.

1

jakieś wykresy, dane, statystyki czy cokolwiek takiego żebym zobaczył procentowy podział rynku między te 3 platformy i prognozy jak to może wyglądać w przyszłości? Jeśli WP upadnie to raczej pójdzie to w Androida czy iOSa?

Obecnie Windows ma kilka procent rynku globalnego poza niektórymi rynkami lokalnymi (np. Polska, Indie). Czy koncepcja UWP, czyli aplikacji które działają jednocześnie na telefonie i komputerze coś zmieni - ciężko powiedzieć. Raczej WP zostanie niszą. Pamiętaj, że w królestwie ślepców jednooki królem, czyli w niszy możesz mieć również zyski, bo ludzie biorą, co jest ;-)

Niby Microsoft ma tym razem znów postawić nacisk na wersję mobilną, ale średnio to widzę, aby uzyskali globalny sukces - spodziewam się raczej niewielkiego zwiększenia niszy w kierunku korporacji.

Jeżeli Windows Phone padnie to połowa pójdzie w Androida, połowa w iOS-a, a połowa siądzie, zapłacze i dalej będzie używać, bo lepszego systemu nie ma ;-)

0

Jeśli znasz C# to albo Xamarian albo Unity

1

Xamarin? Nie warto. Ostatnio w mojej byłej firmie popełnili jeden projekt w Xamarinie, to był jednym słowem dramat jeśli chodzi o wydajność.

0

Sytuacja wygląda tak: używam VS 2013 Ultimate Update 5, system to Win 8.1 Pro.
Piszę sobie powiedzmy coś w C# pod konsolę w Windowsie. Na przykład mini bazę danych z informacjami o klientach (jako baza zwykły txt, tylko najprostsze operacje, tak dla nauki).

Czy mogę to bez przeszkód przenieść i odpalić na telefonie z Windows Phone 8?

Mam tu w VS jakiś symulator do tego...

Czy jakieś specjalne warunki musi spełniać moja aplikacja na desktopa (Win 8.1) żeby bez problemu dała się przenieść na mobile (też Win 8 lub 8.1)?

Pozdrawiam.

1

Tylko jeden - musi nie być aplikacją desktopową tylko mobilną.

0

Rozszerzając: Windows Phone nie uruchamia "zwykłych" aplikacji z "dużego" Windows, np. konsolowych, WinForms, WPF, tylko swoje specjalne, tzw. "Windows Store Apps" - które dostępne są od Windows 8 (tzw. aplikacje Metro albo Modern). Ale i tak nie jest to tak proste, bo w przypadku Windows Phone 8.1 trzeba utworzyć dwie aplikacje, jedną na komputer, drugą na telefon, które mogą mieć 90% kodu wspólne, ale nadal muszą to być dwa pakiety, nie da się prosto przekompilować na telefon. To zostało zmienione w Windows 10 - tzw. aplikacje UWP po prostu się kompiluje dla ARM i one działają bez przeróbek.

Więc ogólnie: musisz napisać specjalną aplikację, aby zadziałała na telefonie, ale może mieć elementy wspólnego kodu z twoją aplikacją okienkową, np. praktycznie całą logikę.

0

Dziękuję Ci Ktos za wyczerpującą odpowiedź.
Teraz wszystko jest dla mnie jasne.

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1