Рубрика «Блог компании JUG.ru Group» - 59

Сегмент мобильной разработки регулярно предлагает участникам рынка новый инструментарий. О том, стоит ли использовать такую новую для программирования под iOS концепцию, как дженерики, а заодно о том, пора ли переходить на Swift, мы поговорили с Максимом Соколовым, специалистом по мобильной разработке компании Avito.

Пора ли переходить на Swift? - 1

— Расскажите, пожалуйста, в двух словах о себе и своем опыте работы со Swift.

— На текущий момент я работаю в компании Avito разработчиком мобильных приложений для iOS. В мобильной разработке я около 5 лет, а до нее занимался различными направлениями, в частности, веб-сайтами, бэкэндом и desktop-приложениями.
Swift мы начали использовать в Avito больше полугода назад, когда вышла вторая версия языка, накопилась обратная связь от сообщества разработчиков. Ранее в работе мы использовали Objective-C, но теперь весь новый код пишем на Swift.

— Некоторые разработчики отзываются о Swift, как о весьма «сыром» языке, не подходящим пока для крупных проектов. Можете ли вы подтвердить или опровергнуть это мнение?

— У Swift, безусловно, есть недостатки, в частности, связанные со средой разработки. Xcode время от времени падает, отключается подсветка синтаксиса или компилятор отказывается компилировать код. Упомянутые недостатки нельзя назвать причиной отказа от разработки больших проектов на Swift. Сталкиваясь с проблемами — мы находили решение. И мы уже отправили в продакшн достаточно объемный проект, написанный на этом языке.
Читать полностью »

3 июня в Санкт-Петербурге состоится пятая по счету конференция DotNext для разработчиков на платформе .NET. О будущем платформы .NET рассказывают Ромуальд Здебский, руководитель направления Microsoft по играм в Центральной и Восточной Европе, который сделает на DotNext доклад на тему «Разработка игр на платформе Microsoft — технологический обзор», и технологический евангелист Microsoft Дмитрий Сошников, который выступит на DotNext с докладом «Сколько жизней у .NET: размышляем о судьбах любимой платформы, гибели Silverlight и тому подобном».

Приглашаем на конференцию DotNext - 1

Приглашаем на конференцию DotNext - 2 Какими изначально были цели создания платформы .NET? Достигнуты ли они?

Дмитрий Сошников: Появление .NET — это реакция на повышение сложности программных систем. Когда стало слишком трудно создавать серьезные приложения на C++, особенно с учетом существования различных вычислительных платформ, появилась цель радикально упростить процесс создания программного обеспечения, в том числе многоплатформенного. И в конце концов исследователи научились изолировать аппаратные сложности (а заодно и ряд трудоемких моментов, таких, как распределение памяти, многопоточность и т.д.) на уровне абстрактной виртуальной машины, а прикладному программисту давать возможность создавать код для этой машины. Так появились Java и .NET. Но основной целью языка Java была возможность запускать один и тот же байт-код на всех устройствах, в то время как платформа .NET гордилась многообразием поддерживаемых языков программирования.
Надо сказать, что основные цели по сути были достигнуты уже по факту создания платформы. Теперь же мы продвинулись гораздо дальше. На основе .NET можно писать приложения под все основные мобильные платформы и под микроконтроллеры. В арсенале .NET-программиста — целый спектр языков от C# и F# до Python и Objective C. Код на базе .NET используется как на устройствах, так и в облаке. Мечта программиста сбылаcь — зная всего лишь один стек технологий, он может быть продуктивным, разрабатывая практически любой программный код.
Читать полностью »

В начале января JetBrains объявили о разработке Rider, кроссплатформенной IDE на основе ReSharper и платформы IntelliJ, доступной под Windows, Linux и Mac OS X, и включающей в себя все фишки ReSharper, и поддерживающей .NET Framework, Mono и CoreCLR. Предполагается, что разработка будет завершена к осени этого года, а все желающие смогут попробовать среду «на зубок» в рамках Early Access Program.

«Мы стараемся, чтобы User Experience не отличался в разных операционках» — Интервью с разработчиками Rider из JetBrains - 1

На хабре Rider уже неоднократно упоминался, но дабы дать нашим читателям взглянуть на процесс разработки «изнутри», при этом поняв специфику процесса на разных этапах производства, мы обратились в JetBrains, и на наши вопросы ответили:

  • Кирилл Скрыган, тимлид проекта Rider и старший разработчик;
  • Дмитрий Иванов, главный разработчик протокола реактивного многопроцессного взаимодействия в Rider;
  • Андрей Акиньшин, серебряный призёр ACM ICPC, в Rider отвечает за NuGet-менеджер.

Читать полностью »

Решение дополнить JPoint 2016 «молодёжным» днём (с возрастным ограничением в 25 лет) могло вызывать вопрос «зачем вообще это нужно». То, что основная «взрослая» часть прошла с размахом, неудивительно: на ней специалисты рассказывают о нюансах, которые не нагуглишь за три минуты. Но начинающих разработчиков, до этих нюансов ещё не дошедших, интересуют куда более базовые вещи, многие из которых были уже тысячу раз описаны. Зачем вообще тогда мероприятие, если можно дома пользоваться Stack Overflow? Что оно откроет людям, которые и так получают профильное образование? И что может дать один день тем, кому требуются ещё многие месяцы практики? Под катом — подробный рассказ о том, как прошёл Student Day, отвечающий на эти вопросы.

JPoint Student Day: зачем конференции «студенческий день»? - 1

Читать полностью »

После того как в 2013 году мы сделали Java-конференции JPoint и Joker, наши друзья и коллеги, которые занимаются не-Java и не-только-Java технологиями, нам постоянно жаловались, что у них нет ничего похожего. Мы некоторое время думали над этой проблемой, а потом по очереди запустили несколько конференций, о которых решили вам рассказать сегодня в этом посте.

Итак, с 3 по 5 июня в Санкт-Петербурге в гостинице «Park Inn Пулковская» пройдет фестиваль для программистов из трех конференций подряд:

  • 3 июня — конференция DotNext для .NET-разработчиков;
  • 4 июня — конференция Mobius для разработчиков мобильных приложений;
  • 5 июня — конференция HolyJS для Frontend и JavaScript-разработчиков.

Подробности о каждой конференции мы уже писали, а сегодня решили рассказать об одном важном элементе, который позволяет экспериментировать с новыми направлениями и расширять круг проводимых конференций.

Наверняка, вы знаете, что кроме организаторов, конференцию формируют еще как минимум три составляющих:

  • Спикеры (наши российские гуру, гости из-за границы и вообще все те, кому есть, чем поделиться с профессионалами).
  • Участники (это вы или ваши коллеги и друзья).
  • Спонсоры.

«Темная сторона» IT-конференций: Работа спонсора «изнутри» - 1

Вот о спонсорах мы сегодня и поговорим.
Читать полностью »

ASP.NET Core имеет все шансы заменить ASP.NET в его текущем виде. Стоит ли переходить на ASP.NET Core уже сейчас? Под катом интервью с зарубежными гостями конференции:

  1. Дино Эспозито – писатель, консультант, тренер и технический евангелист, признанный эксперт и популяризатор концепций DDD и CQRS
  2. Морис де Бейер – независимый консультант, MVP и автор онлайн-курса The React Tutorial
  3. Андрей Терехов – full-stack разработчик EPAM, специалист по серверному пререндерингу.

ASP.NET Core сегодня: за и против - 1


Дино и Морис отвечали на английском языке, ниже мы публикуем перевод их ответов.
Читать полностью »

Работа фронтенд-разработчика наполнена задачами по оптимизации кода, переносу готовых фрагментов между версиями проектов и т.п., сложность которых зачастую определяется исторически сложившимся подходом к самой разработке. В своём докладе на конференции HolyJS, которая пройдет 5 июня в Санкт-Петербурге, фронтенд-разработчик Алексей Иванов расскажет, как объем этих проблем можно сократить отказом от привычного подхода, когда приложение состоит из разрозненных частей, в пользу «всё-в-JS». Мы же в преддверии конференции поговорили с Алексеем о том, от каких именно сложностей избавляют предлагаемые им идеи (сами идеи будут подробнее раскрыты в докладе).

JavaScript-only: гомогенная архитектура веб-проектов - 1

— Расскажи вкратце о себе и своей работе.

— Меня зовут Алексей Иванов, я фронтенд-разработчик в компании «Злые марсиане» (Evil Martians). Это распределенная группа разработчиков, помогающая крупным компаниям, вроде eBay или Groupon, а также различным стартапам в короткие сроки и без проблем запускать интернет-проекты с расчётом на быстрый рост.
В Марсианах я сейчас занимаюсь фронтендом сервиса под названием eBay Social для российского офиса eBay. Это классическое приложение на Ruby on Rails с отдельными интерактивными частями, написанными на React.
До Марсиан я делал первую версию SPA-приложения для ridero.ru на Backbone, помогал запускать пару сервисов для Яндекса с использованием bem-tools, а также занимался разработкой других серверных и SPA-приложений разного размера, что позволило мне потрогать кучу разных инструментов и методологий разработки. Мне нравится изучать и сравнивать разные способы организации кода, работы с зависимостями и разрешения конфликтов, используемые в разных методологиях и инструментах.

Откуда вообще появилась идея о каком-то глобальном изменении подхода к разработке?

— Фронтендеры Марсиан работают с двумя основными типами проектов.
Во-первых, мы создаем классические проекты на Ruby on Rails. В таких проектах рендер шаблонов происходит на сервере внутри самих Rails, а сборка CSS и JavaScript живет отдельно в Node.js и Gulp'е или другом сборщике. Мы пользуемся  пре- и постпроцессорами, собираем отдельные файлы в общие бандлы и сжимаем код Clean CSS и UglifyJS, но при этом CSS и JavaScript друг о друге знают очень мало, а про HTML, с которым они работают, вообще ничего не знают.
Читать полностью »

Скоро два года с того момента, когда язык Swift был официально представлен, но его состояние остаётся неопределённым. С одной стороны, в топе «самых любимых языков» на Stack Overflow он на втором месте — видно, что попытка Apple «улучшить Objective-C» разработчикам понравилась. А с другой, в топе «самых используемых» его при этом нет — там по-прежнему Objective-C. Более того: сообщается, что сама компания Apple сейчас толком не использует в iOS свой собственный язык, пока что реализовав на нём только калькулятор.

Одна из причин в том, что язык ещё не достиг стабильности ABI: сейчас никто не гарантирует, что после выхода его новой версии ваш код не сломается. Однако в Apple называют важнейшим приоритетом исправление этой ситуации. А недавно на горизонте показалась версия 3.0, которая должна принести много нового. Означает ли всё это, что настаёт время браться за Swift всерьёз, или целесообразность его использования всё ещё под большим вопросом?

Настоящее и будущее Swift: вопросы взрослым - 1

Мы решили расспросить о настоящем и будущем языка трёх специалистов из крупных компаний, уже использующих Swift и не понаслышке знакомых с темой. На наши вопросы ответили:

  • Максим Соколов (Avito);
  • Игорь Кашкута (Badoo);
  • Егор Толстой (Rambler&Co).

Читать полностью »

В четверг, 26 мая, в 20:00 в питерском офисе компании Luxoft состоится встреча JUG.ru с Андреем Паньгиным aka apangin, ведущим разработчиком Одноклассников. Тема встречи — особенности JDK, связанные с обходом Heap-a и стеками потоков.

[СПб, Анонс] Встреча с Андреем Паньгиным — Всё, что вы хотели знать о стек-трейсах и хип-дампах - 1

Stack Trace и Heap Dump — не только инструменты отладки, но ещё и дверцы к самым недрам виртуальной машины Java. Презентация посвящена особенностям JDK, так или иначе связанным с обходом хипа и стеками потоков. В её основе лежат популярные вопросы про JVM со StackOverflow и реальные случаи из практики.

  • Влияют ли стек-трейсы на производительность?
  • Как снимать дампы в продакшне без побочных эффектов?
  • Как устроены утилиты jmap и jstack изнутри?
  • Почему все профайлеры врут, и как с этим бороться?
  • Как сканировать хип средствами JVMTI и Serviceability Agent?

Участие бесплатное, регистрация — ТУТ.
Читать полностью »

Оптимизация кода начинается не столько с изучения особенностей языка программирования, сколько с понимания схемы работы всей «технологической цепочки», задействованной при создании приложения — от алгоритма программы до компилятора.

Мы поговорили с Вячеславом Егоровым aka mraleph, инженером из Google, компиляторщиком до мозга костей, который работал над JavaScript движком под названием V8, встроенным в Chromium (и, как следствие в Chrome, Android версию браузера, облачную операционную систему Chrome OS) и в менее известный Maxthone.
JavaScript-программистам Вячеслав, скорее всего, известен как автор постов про внутренности V8 и как докладчик, увлеченно показывающий машинный код на конференциях для Web-разработчиков.

В настоящее время Вячеслав активно работает в Google над Dart VM.
В этом интервью он рассказал о том, что происходит внутри движка, выполняющего динамический JS-код и поделился примерами, как выполняются некоторые оптимизации и почему важно глубоко понимать работу движка, чтобы обеспечить быстрое выполнение кода.

Что браузеры делают с вашим JavaScript-кодом: об оптимизациях в JS-движках на примере V8 - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js