Почти весь UI сделан с использованием части кода Texture(ASDK) – библиотеки от Facebook, которая позволяет считать фреймы элементов в бекграунде
Огромный плюс такого подхода – у разработчика развязаны руки в работе с UI, можно довольно быстро верстать, не сильно заботясь о производительности довольно сложных интерфейсов
Самый заметный минус для человека, который не особо знаком с кодом – отсутствие имен у UIView в дебаггере. Если вы откроете вью дебаг, то увидите почти везде просто UIView, а не LeftHeaderButton
Это происходит, потому что работа с интерфейсом идет через враппер над UIView – ASNode. Принцип похож на обертку UIView над CALayer, только в данном случае добавляется асинхронный расчет фреймов
Представьте ситуацию: вам дали задачу исправить баг у вьюшки на экране чата в Телеграм. В контроллере 6000 строк, во вью чуть поменьше. В дебаггере все называется UIView и куча элементов. Как найти нужный элемент в коде? Присылаете варианты действий, лучшее ретвитну в этот тред
Да, шутка "уйти" или "перейти на Андроид" будет очень уместной и смешной, обязательно репостну -_-
Если из вью есть ссылка на ее ноду (я не помню уже), то да. По тексту можно, если он не в локализации (а там он в локализации, поэтому бесполезно)
У меня не самое лучшее зрение, поэтому вы все для меня пока красивые, ну разве что вот вы кто поближе сидит просто симпатичные!
Начнём же обсуждение с образования!
Тема холиварная, тема бесячая и тригерящая.
Поэтому, разумеется, нам подходит!
Итак, нужно ли высшее образование программисту? И какое нужно : профильное? Подойдёт ли непрофильное? А как же самообразование?
Да и эта тема у разработчиков регулярно всплывает, особенно в твиттере.
А тут, как известно, ищут истину, даже не надеясь на успех.
Специально для тех, кто читает одно сообщение только - это ТРЕД, внимание, код красный, это не учебная тревога, сообщений будет несколько, это тред!
Вы не ждали, но дождались
С вами эту неделю буду я, Александр Кучук
Если вам будет казаться,что пишут не про мобильную разработку не переживайте- вам не кажется.
Я ничего не понимаю в мобилке, да и в целом в программировании не особо разбираюсь, поэтому я как вы поняли - я тут.
Кстати, передаю привет всем у кого я в чс, вот мы и встретились, ребята! ДУМАЛИ Я ВАС НЕ ДОСТАНУ?
Чисто встреча выпускников кафедры уродов и магистры ублюдства!
Я долго думал над темами разговора и поэтому буду импровизировать!
В целом, я вижу наше общение как открытый микрофон, я буду что-то вещать со сцены, вы будете выкрикивать из зала и иногда общаться в кулуарах.
Кратко по поводу публичности: очень рекомендую начать общаться не только со своими коллегами, если вы ещё этого не делаете. Под общением я подразумеваю любой доступный формат – разговор, переписка, статья, доклад, менторство и т.д.
В первую очередь, это полезно вам, а потом уже собеседнику (аудитории). Вы учитесь формулировать и выражать свои мысли, узнаете привычные вещи с новых сторон. В чём ценность ваших знаний, если вы можете их воспроизвести только как заученные фразы?
Я стеснялся выступать на публику, потому что было страшно ошибиться, показаться глупым. Одно дело – вершить правосудие в интернете, скрываясь за аниме-аватаркой, а другое – облажаться перед аудиторией
Суммарно я провёл с кодом Телеграма около месяца. Спустя неделю начал свободно ориентироваться в коде чата, каких-то серьезных проблем с чтением кода не испытал. Да, много строчек, ну и что?
Когда начинаешь разбираться в сути происходящего, видишь, что код написан человеком, который очень хорошо понимает, как изнутри устроен iOS. Код написан под 1-2 человек, а больше им и не нужно
Да, ты не посмотришь на идеальную архитектуру или устройство проекта. Но при этом можно увидеть технические решения довольно интересных задач, в том числе и костыли для обхода системных багов
Допустим, вы получили .xcworkspace файл, открываем файлики с чатом
(пришлось уменьшить шрифт, чтобы все влезло)
Продолжать не буду, смысл понятен. Думаю, что все, что не любят принципалы-архитекторы, можно отыскать. Большинство на этом моменте просто плюнет, рассказав друзьям, какой плохой код. Но мы ведь не такие, прорвемся
Как и обещал, сегодня будет много low-level твиттов про Swift, iOS и алгоритмы.
В больших компаниях, существует 3 ключевые области, регресс в которых, при разработке под iOS, внимательным образом отслеживается, анализируется и оптимизируется.
* Build speed
* Binary size
* Performance
Миграция на Swift, влияет на них всех и к сожалению не самым лучшим образом. Давайте начнем с Build Speed.