dnepropolis
@dnepropolis

После C# в Android или iOS?

Ребята, помогите определится без издёвок и приколов (ну хотя бы постарайтесь) ! Я работаю в маленькой гейм-студии (C#\Unity), решил уйти в мобильную разработку, но ещё в раздумиях куда двинуть, душа лежит к Андроид, а здравый ум подсказывает в iOS.
Андроид меня привлекает тем что там Java, это не сложная вещь после C#, я с этой ОС знаком, на перспективу Андроид используется везде где только можно, телевизоры, автомобили и вообще всё где можно его всунуть, ну и на первый взгляд под него проще писать чем под яблучный телефон. Отталкивает невероятная конкуренция на одно рабочее место как пчёлы на мёд, а я как бы уже не молод по этим меркам (мне 28 лет и я не senior), а так же меньше денег платят (субъективно).
iOS мне нравится что там всё более правильно и сбалансированно (по человечески сделано) только пару разных аппаратов (два вида разрешения экрана), не нужно поддерживать самые старые версии обычно две (прошлую и текущую), меньше конкуренции, больше денег платят. Имеются сомнения в том что вакансий меньше, если под Андроид я немного писал и с ним знаком то iPhone я в глаза не видел (образно говорю), а так же я ненавижу Obj-C, но мне очень нравится Swift – просто песня. Вот отложил 600 баксов на Мак мини и думаю стоит или не стоит их тратить, может я в чем-то ошибаюсь или чего не знаю, подскажите коллеги как идут дела в мобильной разработке!
  • Вопрос задан
  • 369 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
Java, это не сложная вещь после C#

Видимо, в Windows Desktop вы тоже не очень компетентны, если не понимаете прелестей Microsoft .NET, и не догадываетесь, каково на тех ОС, где ничего подобного Microsoft .NET не существует.

C# для Windows Forms:
treeView1.Items.Add("Group 1");
treeView1.Items[0].Add("1.1");
treeView1.Items[0].Add("1.2");
treeView1.Items.Add("Group 2");
treeView1.Items[1].Add("2.1");
treeView1.Items[1].Add("2.2");


Java для Android:
elv1 = (ExpandableListView)
    			v.findViewById(R.id.SeedsByDateFragment_elvSeeds);
    	

        String groupFrom[] = new String[] { "groupName" };
        int groupTo[] = new int[] { android.R.id.text1 };
        String childFrom[] = new String[] { "monthName" };
        int childTo[] = new int[] { android.R.id.text1 };
    	

        List<Map<String, String>> groupDataList
        	= new ArrayList<Map<String, String>>();
        HashMap<String, String> map1 = new HashMap<String, String>();
        map1.put("groupName", "Group 1");
        groupDataList.add(map1);
        HashMap<String, String> map2 = new HashMap<String, String>();
        map2.put("groupName", "Group 2");
        groupDataList.add(map2);
        

        List<ArrayList<Map<String, String>>> сhildDataList
        	= new ArrayList<ArrayList<Map<String, String>>>();
        ArrayList<Map<String, String>> сhildDataItemList1
        	= new ArrayList<Map<String, String>>();
        HashMap<String, String> map3 = new HashMap<String, String>();
        map3.put("monthName", "1.1");
        сhildDataItemList1.add(map3);
        HashMap<String, String> map4 = new HashMap<String, String>();
        map4.put("monthName", "1.2");
        сhildDataItemList1.add(map4);
        сhildDataList.add(сhildDataItemList1);
        ArrayList<Map<String, String>> сhildDataItemList2
    	= new ArrayList<Map<String, String>>();
        HashMap<String, String> map5 = new HashMap<String, String>();
        map5.put("monthName", "2.1");
        сhildDataItemList2.add(map5);
        HashMap<String, String> map6 = new HashMap<String, String>();
        map6.put("monthName", "2.2");
        сhildDataItemList2.add(map6);
        сhildDataList.add(сhildDataItemList2);
        
    	SimpleExpandableListAdapter adapter
    	= new SimpleExpandableListAdapter(
                this.getContext(), groupDataList,
                android.R.layout.simple_expandable_list_item_1, groupFrom,
                groupTo, сhildDataList, android.R.layout.simple_list_item_1,
                childFrom, childTo);
    	
    	elv1.setAdapter(adapter);


ну и на первый взгляд под него проще писать чем под яблучный телефон.

На самом деле для обоих примерно одинаково сложно и тяжело.

Отталкивает невероятная конкуренция на одно рабочее место как пчёлы на мёд

Учитесь продавать себя.

Вот отложил 600 баксов на Мак мини

Не покупайте "кота в мешке", сперва просто воспользуйтесь VPS или виртуальной машиной, чтобы посмотреть как выглядит OS X и разработка для iOS, попробовать себя в этом на практике, для VPS ничего не требуется кроме хоть какого интернета, хоть какого компьютера и всего 50-100 долларов на 1 месяц, принцип как у TeamViewer.
Затем попробуйте в Android.
Сравнение станет более предметным.
Другой фактор сравнения - это вакансии, их тоже нужно изучать и пробовать.
Ответ написан
@renoize
Android Developer
Я с C# перешёл на Android, если можно так выразиться. Имхо самый быстрый вариант. Для новых проектов использую Kotlin, а не Java. Советую присмотреться к Android.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы