LINUX.ORG.RU

Скажите, я правильно вообще делаю?

 , ,


2

1

Погружаюсь в AngularJS. Не спрашивайте, почему, но в 1.2 (максимальная кросс-платформенность и минимальное отъедание памяти), никаких jQuery...
использую bootstrap.ui, пагинацию из него.

Пагинация прекрасна и быстра, вот только если посетитель с 99-й страницы перейдёт куда-либо, а потом вернётся, или сохранит в закладки, его UX превратится в тыкву страница снова станет первой.

Не проблема, я нагуглил, что надо использовать $location.path
Но тогда перезагружается страница, и смысл теряется.

Хорошо, в router-ng ставим reloadOnSearch: false

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

Нашёл воркэраунд - в роутинге писать:

    $routeProvider.when('/bottles/:xxxxx', {
        templateUrl : '/templates/ng/bottles.jade',
        reloadOnSearch: true
    });

    $routeProvider.when('/bottles', {
        templateUrl : '/templates/ng/bottles.jade',
        reloadOnSearch: false
    });


Так я это о чём... Это мне одному вот это вот всё жидкое и густое вперемешку не нравится в этом вашем JavaScript? А остальным и так нормально, и они считают это мощным и немногословным инструментом, или я просто не там копаюсь?

Сейчас иногда на wxPython что-то делаю, так там по сравнению с UI в браузере просто какой-то прекрасный мир идеальных вещей.

★★★★★

Последнее исправление: Shadow (всего исправлений: 1)

AngularJS
1.2

я просто не там копаюсь?

this

Закопать и никогда больше не раскапывать. Сейчас тут насоветуют тайпскриптов со вторым ангуляром. Или ещё каких-нибудь фреймворков. Я же посоветую react + redux. Решать разумеется тебе.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Я же посоветую react + redux

Жаль, макет системы уже на ангуляре старом сделан.

Тест у меня был простой:
андроидофон на 2.3 андроиде с 512 кб памяти.

Нормально работал тогда (полтора года назад) только ангуляр 1.2 и ui.mobile

Второй ангуляр и фреймворки лагают, UX отстой.

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Рано или поздно всё равно придётся куда-то мигрировать, потому что к тому момнету первая ветка ангуляра протухнет окончательно. Можно и дальше продолжать есть кактус, особенно если долгосрочных планов на эту систему нет. А вот куда именно, решить лучше всё-таки самому.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

react + redux

На первый взгляд выглядит как «давайте всё делать через ж» идея верстать UI на javascript. Хорошо хоть css используют.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Есть тулзы, которые позволяют их инлайнить =). Хотя это и так можно делать, но с потерей некоторых возможностей, которые упомянутые инструменты восполняют. Я кстати сам инлайню и ничего плохого в этом не вижу. Особенно доставляет, когда мне о том, что так делать плохо, говорят пользователи какого-нибудь вебпака :3

На самом деле JSX очень даже удобен. Попробуй какой-нибудь hello world написать, ну или что-нибудь немногим посерьёзнее. Если не понравится, то что поделать.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Попробуй какой-нибудь hello world написать

Суть в том, что можно просто

Hello world!

Поэтому я сейчас coffescript осваиваю, а html уже весь на jade только делаю.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Суть в том, что можно просто

Ну не в буквальном же смысле. Посмотри на всякие TodoMVC и т.п.

Kilte ★★★★★
()

AngularJS … 1.2

Нет, неправильно.

</thread>

ChALkeR ★★★★★
()

$

всё жидкое и густое вперемешку не нравится в этом вашем JavaScript

Это не наш JS, это твой личный говнокод на JQueery
Научился бы для начала в нормальный HTML+CSS без этого говна — там тормозить или глючить почти нечему.

Goury ★★★★★
()

А почему не Эмбер ? Судя по докам, тот же ангулар, но в профиль. Хотя сам когда думал попробовать вовремя увидел Реакт, но он, только вьюшка, конечно, все им не реализуешь.

Dred ★★★★★
()
Ответ на: комментарий от Goury

У меня нет jquery, для простых вещей он не нужен, сложные проблемы не решает. Это в коде роутинг ангуляра.

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от ChALkeR

А что вы используете для наглядности, краткости кода и совместимости с кофеварками с 64 кб памяти?

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Dred

Потому что у эмбера нет mobile.ui и ionic, а я и так в одни руки пишу какой-то foursquare.

Shadow ★★★★★
() автор топика

AngularJS
андроидофон на 2.3 андроиде с 512 кб памяти.

.. ну а чего ты хотел? веб фрейморки на JS тормоза еще те, если хочешь что бы не тормозило на таких телефонах, то нужно использовать либо ваниллу, либо микролибы

umren ★★★★★
()
Ответ на: комментарий от umren

Вспоминаются славные времена, когда 1кб памяти было достаточно для жс без слишком уж жёстких тормозов.

anonymous
()
Ответ на: комментарий от Shadow

наглядности, краткости кода

ES

совместимости с кофеварками с 64 кб памяти

Это вы про (мёртвый) кофескрипт который транслируется в жс или про jade, который уже некоторое время как не jade, и который транслируется в HTML?

ChALkeR ★★★★★
()
Ответ на: комментарий от kelyar

Там та же хрень с ajax пажинацией и строкой url, с найденного примера для ui router и портировал на router-ng.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Goury

И html. Я вот и пытаюсь не использовать.

Shadow ★★★★★
() автор топика

Не проблема, я нагуглил, что надо использовать $location.path Но тогда перезагружается страница, и смысл теряется.

Ты чё-то там неправильно бодяжишь. У меня не перезагружается страница при переходе с index.html на index.html/#/menangen, к примеру. Это в 1.5 и дефолтном роутинг модуле.

Советующие тут выкинуть ангулар, jade и протухшем коффескрипте фееричны. Типа, если заглох трактор - давайте купим 1000 лопат. Все эти react с вложенным html, а также vue.js компоненты с напичканными css и JavaScript - это та ещё мясорубка кода. Выглядит хорошо на небольших компонентах, но потом начинается ад, уже пройдено.

Писать Angular на jade, coffee и sass - это нормальный шаблон построения веб приложений. Ничто тут не протухло, уже более 20 крупных проектов показали, что это хороший выбор и возможность быстро фиксить баги, главное, соблюдать иерархию и разделять angular/coffeescript код на логические модули. А для этого нужно сначала проектировать - а потом писать код.

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

По поводу питона и wx - так там всё тупо как в 99 году - никакой гибкости, заранее созданные биндинги к нативным кнопкам, окнам. Понятно, что там будет всё просто, но просто, пока ваяешь утилитки. Попробуй создай интерфейс visual studio на wxPython - ты опплюёшься.

menangen ★★★★★
()
Ответ на: комментарий от menangen

У меня переинициализируется контроллер пажинации. Возможно, в 1.5 это не вызывает перезагрузку.
Как на кофескрипт переведу, выложу на гитхабе

Shadow ★★★★★
() автор топика
Ответ на: комментарий от ChALkeR

Это я в реакт сунулся и подофигел.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от menangen

Советующие тут выкинуть ангулар, jade и протухшем коффескрипте фееричны. Типа, если заглох трактор - давайте купим 1000 лопат.

То есть кофескрипт - трактор, а es6 - лопата?

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

Лично мне ES6 кажется таким же развитием js, как perl6 - развитие perl. Но это вкусовщина

Shadow ★★★★★
() автор топика
Ответ на: комментарий от menangen

на jade, coffee и sass
Ничто тут не протухло
Советующие тут выкинуть ангулар, jade и протухшем коффескрипте фееричны

Только вот ангулар 1 был медленным говном чуть более, чем полностью (про 2 пока не могу сказать), кофескрипт объективно умер (смотри график коммитов и висящие по несколько лет пулл реквесты с просьбой смерджить то, что у людей с ES давно работает), jade уже некоторое время как переименовали в pug, а кривым и громоздким sass нынче пользуются только неосиляторы современного css.

Welcome to 2016.

ChALkeR ★★★★★
()
Последнее исправление: ChALkeR (всего исправлений: 3)
Ответ на: комментарий от ChALkeR

А чего кривого в libsass? И ничего не знаю, из темтированных мной ангуляров с ui.bootstrap самый быстрый - 1.2

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

В libsass? Да почти всё, как бы по-дурацки это не звучало.

Идём на http://sass-lang.com/. Хотим какой-нибудь пример — открываем http://sass-lang.com/guide.

И что мы видим?

  • Variables.

    О, да. Киллер-фича. Да вот только они уже давно есть в CSS нативно с другим синтаксисом, и поддерживаются всеми браузерами, кроме того, что от МС. И для них есть трансплиттер — можешь юзать нативные переменные и подставлять их трансплиттером на этапе сборки. https://www.w3.org/TR/css-variables/

  • Nesting. Аналогично, но официально в стандарт пока не включили и родной поддержки браузеров нет. Но есть трансплиттер, все используют, и, судя по всему, скоро включат в стандарт. https://tabatkins.github.io/specs/css-nesting/
  • Import. Тут у них в сасс рассуждения о том, что @import хорош, да вот лишний запрос. Во-первых, их умозаключения потеряли актуальность с выходом HTTP/2. Во-вторых, в один файл можно и без libsass собрать всё.
  • Mixins. А тут они приводят вот такой юзкейс:
    @mixin border-radius($radius) {
      -webkit-border-radius: $radius;
         -moz-border-radius: $radius;
          -ms-border-radius: $radius;
              border-radius: $radius;
    }
    
    .box { @include border-radius(10px); }
    
    Угадаешь, как этот код должен выглядеть в 2016? Подскажу:
    .box { border-radius: 10px; }
    
    Понимаешь, почему sass громоздкий в этом случае? И поддержка браузеров будет ровно такой, какой надо — autoprefixer расставит все нужные префиксы для свойств автоматически, это давно уже не головная боль верстальщика. При этом ему можно задать это в параметрах — какие браузеры ты хочешь поддерживать (или даже какой процент популярности).

И да, вся эта «магия» с автопрефиксером, трансплитерами нового цсс для старых браузеров и всем таким прочим работает быстрее чем долбаный libsass и при этом не тащит бинарный блоб в случае, если ты собираешь под нодой. Для справки: node-sass тащит бинарный блоб, которой ещё и постоянно отваливается с каждой новой версией Node.js.

Когда сдохнет libsass — всё, что написано на нём, останется на помойке. Всё, что написано на чистом css с его новыми фичами — будет поддерживаться только лучше, и всё, что нужно будет сделать через пару лет — отключить трансплиттеры.

ChALkeR ★★★★★
()
Ответ на: комментарий от ChALkeR

У меня собирает питон через flask-assets при обновлении сорцов. Что там может тормозить - хз. У меня все автоматом.

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Kilte

Что подробнее. Через полтора года будут писать точно то же, что и ты про названный тобой набор и рекомендовать очередной The Best Ever Framework.

special-k ★★★
()
Ответ на: комментарий от special-k

Ты сказал, что это вершина всей этой кучи дерьма. Я правильно понял? Так вот мне интересно, почему ты решил, что там всё плохо. То, что потом появится нечто новое, а про react забудут — это не аргумент. Во фронтенде сейчас всё бурно развивается, и на мой взгляд это нормально. Как я уже сказал, на что ставить, пускай решает автор сего треда. Моё дело предложить.

Kilte ★★★★★
()
Ответ на: комментарий от static_lab

в ES 2015+ точно такой же миллион скобочек, точек с запятыми, ретюрнов и тд как и в любой версии нативного js, в каком месте ты увидел тут альтернативу?

TDrive ★★★★★
()
Ответ на: комментарий от ChALkeR

кофескрипт объективно умер (смотри график коммитов)

И где он умер? 188 разработчиков, последний коммит 14 дней тому назад в мастер ветке.

Про сравнение sass с css - даже не смешно. Ты думаешь, в sass только переменные и миксины используют?

Es6 - это вообще сахарок с 5-ю фичами, в то время как coffee и его форки - это новый язык со своей спецификой. Тот же Dart уделает ES6/7 по всем параметрам.

Сдаётся мне, что твой 2016 - это твоя виртуальная реальность.

menangen ★★★★★
()
Ответ на: комментарий от ChALkeR

Когда сдохнет libsass — всё, что написано на нём, останется на помойке. Всё, что написано на чистом css с его новыми фичами.

Вот когда сдохнет - тогда и поговорим. Sass компилируется в такой же «чистый css». В «грязный» он компилируется только у грязных кодеров.

Там ты миксин привёл - один из простейших, уже никто с этими автопрефиксами не парится, ибо IE выкинули на помойку. В чистый css уже завезли наследование классов с переменным содержанием?

menangen ★★★★★
()

Так я это о чём... Это мне одному вот это вот всё жидкое и густое вперемешку не нравится в этом вашем JavaScript?

Если это все, что тебе не нравится в js, то у тебя еще все вперде.

nikolnik ★★★
()
Ответ на: комментарий от menangen

Там ты миксин привёл - один из простейших, уже никто с этими автопрефиксами не парится, ибо IE выкинули на помойку. В чистый css уже завезли наследование классов с переменным содержанием?

Лол. Куча свойств за префиксами: snappoints, text-align-last, box-decoration-break, :matches(), appearance, multicol, новый sizing… Лень перечислять.

ChALkeR ★★★★★
()
Ответ на: комментарий от nikolnik

Сам язык меня устраивает, не устраивает практика на каждый чих строгать костыль или воркэраунд или велосипед. Или брать jQuery и переписывать дом ежесекундно. Или смириться и рисовать свой дом на явпскрипте (привет, реакт). Почему в других областях программируют, а не порноцирк устраивают?

Shadow ★★★★★
() автор топика
Ответ на: комментарий от Shadow

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

TDrive ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.