Pull to refresh
20
0
Георгий Малюков@GDXRepo

iOS-программист

Send message
Короче, на втором задании после часа попыток мне надоело тратить время впустую. Кто догадался — я реально завидую вашим телепатическим навыкам, мне до такого еще далеко. Пойду лучше продолжу работать, это полезнее. P.S. После окончания конкурса напишите, что имели в виду на шаге два. Мне интересно, как далеко зашла телепатическая фантазия.
В итоге, прошел задачу методом брутфорса. Но это явный косяк в формулировках, конечно. Над этим плохо поработали.
Честно говоря, постановка задач удручает. Найти ссылку — элементарно, но вот формулировка первого же задания — сомнительна. После прочтения вопроса я сходу подумал о bash, футболе, хоккее, асме и еще много о чем. Слишком размытое задание. Чтобы не посчитали спойлером: «Какая… тут указана». Так вот, "..." у меня ассоциируется просто с тучей областей, а не с чем-то конкретным. Это называется нечеткое ТЗ. Куда лезть и что искать, чтобы получить подсказку, — это понятно, но вот сам вопрос — это «принеси то, не знаю что». Квест, на мой взгляд, должен быть сложным, но при этом с четкой постановкой задач, а не угадайка и телепатия. Но это имхо, разумеется. А так, буду честен, из-за формулировки пощелкал варианты на первой задаче и пока (а может, и вообще) отложил это дело.
Я не разбираюсь в Андроиде, поэтому не могу взять на себя право сказать, что какой-то фреймворк самый крутой для иос и андроида одновременно. Вы же делаете такое заявление, но при этом показываете, что в иос не разбираетесь, значит, ваше заявление так же голословно, как если бы его произнес я. Но вообще — нет, конечно, не будем «пинать воздух». Я вам уже писал огромный пост, на который вы не нашли, что возразить, и просто его проигнорировали. Ваша сущность уже давно понятна, с первых ваших ответов в комментах (не мне), так что особо тут обсуждать нечего. Каждый… ит как хочет, поэтому успеха.
Разумеется, нет. Ну, так, в отличие от вас, я и не делаю таких громких заявлений, одновременно показывая, что не разбираюсь в теме. Нет людей, одинаково хорошо знающих обе платформы. Такие люди либо являются профи в одной, и очень плохо знают другую, либо посредственно разбираются в обеих. За крайне редкими исключениями.
Конечно же, нельзя там юзать синий зуб… А еще звонить на iOS нельзя, и сообщения там тоже с трудом отправляются… Как?! Вот как с таким уровнем знания о платформах можно заявлять, что «это фреймворк номер 1» для кросс-платформы? Какой кошмар. Впрочем, пользуйтесь на здоровье, на самом деле. У всех есть свои извращения.
Минимум один. Автор статьи. )
вам тяжело признать, что 'ещё один фреймворк' оставляет далеко позади

Что значит «далеко позади»? Мне вот код не нравится, который вы привели. И код из приложения уровня Hello World кодом считать нельзя, мне промышленный кусочек, пожалуйста. Из сложного приложения с разветвленной системой классов, нагруженным сетевым слоем, и так далее. А не «три кнопочки на экране».
обвинять меня в неуважении к кому

Окей, ваши фразы:
— На React Native приложения делают калеки
— как нормальный человек может писать код на React Native
— писать в комментариях чушь
— нужно быть действительно больным человеком, чтобы отрицать убогость React Native
— возмущаться, размахивать руками

Нормальное общение для вас? Хотя я не подал вам ни единого повода наезжать на меня. Возмущаетесь и машете руками здесь только вы. Я с вами общаюсь более, чем спокойно, если вы не заметили.

Почему я говорю, что вы голословны? Потому что вы не привели ни одного бенчмарка, который явно бы доказывал преимущество кодирования на продвигаемом вами фреймворке. Вы приводите лишь простейшие куски кода. А ваши фразы вида
Интерфейс Kivy отзывчив настолько, насколько отзывчив наивный UI. В некоторых случаях даже превосходит его.

В любом случае на Kivy это (разработка) будет в два раза быстрее и проще

простите, и вовсе являются полным «маразмом», выражаясь вашими же словами. Ни одна надстройка не может стать быстрее нативного кода, если сможете доказать обратное — вперед, получать премию. Имею полное право так говорить, так как сам являюсь нативным разработчиком на одной из платформ, и отлично понимаю, что имею в виду. К слову, я вообще не считаю хоть какое-то кроссплатформенное решение более удачным, чем натив, просто натив дороже, поэтому иногда (ИНОГДА) к подобным технологиям полезно прибегнуть.
я ещё раз приведу пример приложения, которое чуть сложнее

Не нужны мне примеры кода. Самым коротким в ряде задач может быть вообще код на ассемблере, что ж с ним-то не сравниваем? Или на брейнфаке том же. Он же еще короче, куда уж круче? Поэтому примеры кода в специфических простейших задачах — это ерунда. Сравнение делается на тяжелых участках кода. При попытках замерить производительность компьютерного железа запускаются тяжелейшие программы, нагружающие его на 100% в течение длительного времени, а не Сапер напополам с Косынкой, так понятна аналогия? Приведите, пожалуйста, цифровые официальные бенчмарки, подтверждающие ваши слова о «скорости». Особенно любопытно посмотреть доказательное сравнение со скоростью работы нативного кода. Ну очень интересно. Иначе это пшик, просто громкие слова.
Очередной JS фреймворк? HTML5? Даже сравнивать такое желания нет.

Раз вы сами пишете, что «нет желания сравнивать», то со всеми имеющимися решениями вы не сравнивали. Поэтому фраза «всегда в два раза быстрее на Kivy» уже не имеет под собой доказательной базы. Л — логика.

На самом деле, нет ничего плохого в том, чтобы считать какую-то технологию лучше другой. Плохо другое: вы сами себя ограничиваете, используя только один инструмент, второе — вы не уважаете коллег по работе (см. выше примеры), третье — вы считаете, что нашли «серебряную пулю», которой в нашем мире не существует, четвертое — вы пользуетесь бездоказательными тезисами (уже описал, почему). Поэтому вы либо тролль, либо еще не работали с по-настоящему сложными проектами, чтобы упираться в какое-то одно «идеальное» решение.
Голословные заявления типа «в два раза быстрее и проще», не подкрепленные реальными тестами, цифрами и/или исследованиями, — это пшик. А учитывая, насколько агрессивно вы подаете свою точку зрения как единственно верную, создается полное ощущение, что вы не принимаете чужую точку зрения, и оскорбляете всех, кто с вами не согласен, быстро переходя на «ты» и не уважая собеседника (смотрю по другим вашим ответам в комментах). Особо громкие заявления, ничем не подкрепленные, в нашем мире чаще всего оказываются далеко не такими радужными, как заявляется пропагандистом. Попытка сказать «вы все г… но, а я — Дартаньян» приводит либо к неприятию вашей точки зрения, либо к ответной агрессии, что нормально. Если вы считаете себя вправе оскорблять людей с другой точкой зрения, а также не подкрепляете свои громкие слова явными примерами и цифрами бенчмарков (примеры в статье слишком слабы для «в два раза быстрее и проще»), то вы не профессионал, и доверия к вашим словам 0.
Не слишком ли много вы на себя берете, называя «калеками» огромное количество незнакомых вам людей, с совершенно разным уровнем навыком относительно ваших? Уважайте профессионалов из смежных областей или с другими взглядами, иначе и вы профессионалом считаться никак не можете. Хотя бы из-за отсутствия банальной этики.
Спасибо за статью. Сочувствую. Но такие потери всегда, как вы правильно написали, нужно воспринимать именно как инвестицию в собственное образование и опыт. Да, сделали ошибку, да, потеряли средства, но приобрели опыт, который поможет избежать таких же граблей в будущем — и это здорово. Отдельное спасибо за то, что делитесь этим опытом с другими. Негативный опыт зачастую значительно более ценен, чем те самые истории успеха, в которых в дело вступает классическая «ошибка выжившего». :)
А это и не открытие, да и не про это статья была. Цена в полмиллиона складывается из долгой (минимум полгода, как правило) разработки приложения, причем в ценник закладываются зарплаты всех вовлеченных в проект людей. Отсюда и такие цифры. Приложение может стоит и десятки миллионов рублей, если разрабатывается долго и большим коллективом.
Проблемы есть в любом подходе, к сожалению. По поводу множества экранов — основным распухающим контроллером тогда будет Main, так как суть рута — это переброска между авторизацией, сплешем и основным Main экраном. Кейсы (пошаговые flow) я обычно выделяю в отдельный контроллер, чтобы не плодить разную логику в корне, но там под ситуацию уже подбирать надо.
Спасибо за статью, такой информации мало. Есть пара ошибок. initialFrame в методе animateDismissTransition не используется вообще. Ну и по мелочи, в блоках нет обертки [unowned/weak self], очепяток в showLoginScreen() — там лишняя квадратная скобка закрывающая, также не очень понятно, как «стандартная» реализация вставки нового контроллера из 9 шагов должна превратиться в анимированный переход, неплохо бы привести этот пример в статье. В остальном нормально, лишней статья точно не будет.
Звук — понятие индивидуальное, то, что подходит мне, может не подойти вам. Но если вас все же интересует мое мнение — то дома я обычно работаю в Sony WH-1000XM2. Мягкие, с высоким качество звука и отличной шумоизоляцией от домашней суеты. Для меня, опять-таки. Альтернативно люди часто говорят об ушах типа Bose Quitecomfort, но их не юзал, от себя ничего сказать не могу.
Я работаю удаленно уже несколько последних лет, и в прошлые годы тоже иногда работал удаленно, суммарно, наверное, из всего рабочего опыта у меня около 5 лет чистой удаленки. И я ПОЛНОСТЬЮ доволен этим режимом. Да, нужна самодисциплина, но она вырабатывается. А также нужны уши с хорошим шумоподавлением, если вы живете не один. В остальном — это идеально. Для меня, естественно.
Поддержу вас. Настолько сложные архитектурные решения, как VIPER и его производные, требуют уже определенной квалификации, чтобы проект не превратился в нечто громоздкое и неповоротливое, где львиная доля времени разработчика уходит не на функционал, а на следование архитектуре. Имхо, VIPER можно применять только тем, кто уже чувствует в себе силы и, главное, понимает, зачем он это делает.
ObjectMapper, насколько я знаю, писал другой специалист, не разработчики Alamofire, но могу ошибаться. Если сравнивать SwiftyJSON с Codable, то я с вами соглашусь, они очень близки по функционалу. Попробуйте AlamofireObjectMapper, думаю, в будущем он поможет вам сократить количество времени и кода на сетевое ядро. Мне понравилось, во всяком случае. SwiftyJSON/Codable не подошли конкретному к моему проекту, специфический сервер. А так — лишь бы нравилось, если конкретное решение вам подошло — это замечательно.
Вопрос в количестве телодвижений. Лично у меня не получилось, например, красиво и с минимальным вмешательством в код создать нормальный сетевой движок для сервера, с которым я работаю. AlamofireObjectMapper сильно помог, и сильно сократил количество кода. Codable — это определенно шаг вперед, но это не панацея, к сожалению, и сторонние либы все равно мощнее, иногда ощутимо. Не нужно изобретать велосипед, изобретенный до вас, Codable поможет в легких случаях, но полноценное сложное сетевое ядро на нем особо не напишешь (или придется потратить больше времени и строк кода, чем хотелось бы). На мой взгляд, конечно.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity