[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-101273134", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=byaeu&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid11=&puid12=&puid13=&puid14=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Kat Vance", "author_type": "self", "tags": [], "comments": 20, "likes": 34, "favorites": 1, "is_advertisement": false, "section_name": "blog", "id": "27422", "is_wide": "" }
Kat Vance
776
Блоги

TJ for Windows 10: Первый чекпоинт

Всем привет. Кто не понимает, о чём речь, читайте здесь, а в этом посте я расскажу о том, что удалось сделать за прошедшие неполные три недели, очерчу дальнейший фронт работ, и поблагодарю двоих присоединившихся к разработке читателей. tl;dr: сделано много, пока выглядит как говно (исправим), релиз близко.

Поделиться

В избранное

В избранном

Для начала, что изменилось:

Настройки

Теперь можно изменить размер шрифта, выбрать по-умолчанию открывающуюся при старте приложения страницу, переключить режим отображения списка новостей, и настроить количество за один раз подгружаемых записей (от 1 до 50, в соответствии с ограничениями API). Дальше будет больше.

Разметка

Мы с пользователем №17765 подумали и решили, что разметка в виде почтового клиента в данном случае – лажа, потому что ломает кнопку назад, требует дополнительных усилий при создании адаптивной разметки, заполнении визуальной пустоты на стартовой странице и так далее. Так что я решил не выёбываться, и сделать как на сайте: простым полотном карточек. Менее удобно не стало. Так и оставим.

Также, В режиме просмотра статей теперь отображается гораздо больше информации о заметке и её авторе. На самом деле запихнул практически всё, что возможно получить через открытое апи: корректно определяются спонсорские и дополняющиеся материалы, отображается не только рейтинг, но и количество людей, проголосовавших за статью, даты показываются в абсолютном формате (моя мечта с момента регистрации на тж) и прочее. Такое количество информации раздуло шапку до высоты в примерно 200 пикселей, но я приделал событие, скрывающее её при прокрутке чуть-чуть вниз, так что всё в порядке.

Профили пользователей

Чтобы отобразить, нужно тапнуть на его имя или аватарку при просмотре статьи. Пока отображается не вся информация, но добавить остальное – задача на пять минут. Главное что работает.

Код

Всё переписано на основе паттерна mvvm. Это значит, что дизайн теперь полностью отделён от кода, и над приложением могут независимо работать сразу много человек. Не знаю, зачем оно конкретно здесь, ведь и швец, и жнец, и на дуде игрец здесь я один, но пусть будет, не помешает.

Твиты

В твитах теперь почти хорошо. Можно смотреть картинки в полный экран, нормально парсятся ссылки, ретвит, добавление в избранное, ответ теперь происходит через стандартное приложение (с помощью префикса twitter: в url), в общем всё как должно быть. Осталось повылавливать единичные баги, займусь этим на днях.

Баги

Не падает при навигации в оффтоп → непризнанное!!! Для пользователей, наверное, мелочь, но я едва с ума не сошёл, пока понял, в чём дело. Так что для меня фикс этого бага – важнейшее событие, за которое стоит даже выпить. Такие дела.

Туду, в порядке убывания приоритета:

Серьёзно займусь только после того, как закрою госы в своей шараге. До того буду понемного подпиливать в свободное время, уж извините, и так достаточно времени на это всё убил.

1. Конечно же, самое важное – текст статей. Нужно научить парсер понимать встроенные блоки инстаграма и твиттера, интерпретировать жирный и наклонный текст, показывать FlipView с множественными картинками и приделать WebView для сложных данных типа трансляций Waterfall.

2. Возможность смотреть более старые новости, а не только первую страницу. Будет либо пагинация, либо бесконечный скролл. Ещё не решил, что удобнее.

3. Рабочий поиск. Технически сделать легко, но у меня сейчас реально мало времени. Всё будет.

4. Просмотр постов читателя на странице его профиля.

5. С твитами не так всё хорошо, как кажется на первый взгляд. Ещё два часа назад приложение падало, когда скролл доходил до любого твита Малахова (я хотел сказать, что это фича, и так и оставить, но потом подумал и исправил, ладно уж).

6. Сменить софтовую виртуальную кнопку «назад» на стандартную виндовую (это починит поведение физических кнопок на телефонах и т.д.). Задача лёгкая, решается в три строчки, но чё-то руки до сих пор не дошли.

7. Добавить анимацию в те места, где она автоматически не добавилась. Сейчас кое-какие переходы кое-где происходят рывками, это не круто.

8. (Возможно) Анализ сми. Кому-то он нужен вообще? Отпишитесь если нужен, потому что я им никогда не пользовался, например.

9. (Возможно) Переключение тёмной/светлой темы оформления. Это такой геморрой на самом деле, что я даже не знаю, связываться ли.

10. Баджик на главный экран. Его добавление будет знаменовать собой окончание активной фазы разработки.

Благодарности

Спасибо пользователю №61246 за присланный коммит и за подсказку насчёт того, как распарсить ту злополучную строчку. Да, я её таки успешно сериализировал, и выкинул регекспы на помойку. Работать с данными стало намного легче.

Спасибо пользователю №17765 за ответы на гору моих тупых вопросов и подсказку насчёт использования mvvm-паттерна.

А что с комментами?

А их не будет. Наша редакция не заинтересована в поддержке чего угодно кроме Android и iOS, даже задаром. Sad trombone.wav.

Зачем тогда это всё?

Делаю себе, ради дотнет-рилейтед строчки в портфолио. Потому что мне это интересно, и потому что почему бы и нет. И нет, спамить постами больше не буду. Этот последний перед релизом.

Ссылки

Гитхаб

Сборка от 2.05.2016

Устанавливать как обычно, в прошлом посте инструкция внизу есть.

Популярные материалы
Показать еще
{ "is_needs_advanced_access": true }

Лучшие комментарии

Дискуссии по теме
доступны только владельцам клубного аккаунта

Купить за 75₽
Авторизоваться

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность писать комментарии и статьи
  • общение с членами клуба
Подробнее

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность читать и писать комментарии
  • общение с членами клуба
  • возможность создавать записи

Сколько это стоит?

Членство в клубе стоит всего 75₽ в месяц. Или даже дешевле при оплате за год.

Что такое клуб?

Клуб ТЖ это сообщество единомышленников. Мы любим читать новости, любим писать статьи, любим общаться друг с другом.

Вступить в клуб

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Вы не против подписаться на важные новости от TJ?

Нет, не против