Программирование : Dart & Flutter по-русски
Grabli66
Попробую вообщем. Если это так. То это замечательно :)
tdesc
я думаю оно не помещает, оно оттуда читает во время сборки )
Yan Guly
вас там еще не заблочили?
Evgeny Kot
Ну можно через path, можно ссылку на гит
tdesc
я видел на примере flutter plugins
Grabli66
Можно. Мне бы главное все проекты фронта собрать, и поместить все нужные файлы(жаба скрипт, картинки, html) в одно место, что бы сервер их выдал клиенту. И желательно на автомате :)
tdesc
я вот смотрю как firebase hosting сделан
tdesc
там одной командой по идее firebase deploy и сайтик должен жить
Grabli66
Это в идеале. :)
tdesc
ну для тестового сервера должно работать, самому можно поднять халявный AWS сервер и деплоить, но это уже гемморой
tdesc
точно не для быстрого старта
Grabli66
Смысл в том что сервер уже существует. На нём есть древнючий php 5. И вот теперь дарт туда пытаюсь впихнуть. :)
tdesc
ну чистую виртуалку с ssh и нодой можно поднять минут за 10 )
tdesc
пока не знаю. я до хостинга не дорос
Grabli66
Просто дарт я пытаюсь впихнуть, что бы шарить между flutter и вебом и сервером хотя бы протокол обмена пакетами.
tdesc
я планирую шарить модели, redux и middleware логику между web/flutter и обойтись без сервера пока
tdesc
сервером будет firebase
Grabli66
Что то не охото данные пользователей держать в облаке :)
Grabli66
Причём база уже есть.
tdesc
ну для старта мне пофиг
tdesc
быстро и технологично
tdesc
[
{
"type": "link",
"text": "https://mydart-3b846.firebaseapp.com/"
}
]
tdesc
поднялся и захостил через firebase cli
tdesc
только чет не пашет )
tdesc
а так хостинг и деплой работает
Grabli66
[
"Пишет что не найден ",
{
"type": "link",
"text": "https://mydart-3b846.firebaseapp.com/main.dart.js"
},
""
]
tdesc
так же было с локальным билдом при SDK < 2
tdesc
возможно какие то проблемы из-за Dart2
tdesc
починил следующим образом
tdesc
сначала pub run build_runner build --config release --output=wtf
tdesc
потом в firebase.json { "hosting": { "public": "wtf/web",
Grabli66
А что за сайт будет?
tdesc
в смысле что делать там буду?
tdesc
я не понял вопроса )
Grabli66
Нет. Что сайт будет делать?
tdesc
думаю сделать проектик один аля бронирование спортивных туров
tdesc
если договорюсь с тем, кто предложил
tdesc
мне для опыта нужен рабочий проект web/flutter/firebase
Grabli66
А дальше в гугл работать? ;)
tdesc
ну для начала можно и гденить тут
admin
Ты давно смотрел вакансии?)
tdesc
я не буду их смотреть, я буду их постить
tdesc
любой вменяемый руководитель, стартующий проект умеет считать деньги
Grabli66
Отлично. Чем больше вакансий на дарте тем лучше ;)
j k
а это нормально что весит 1.1 М и 178 скриптов грузит ? сколько там ангуляр с дартом в проде весит если все сжать ?
Олжас Сулеймен
это рабочии компил, при реализе будет один файл 100к~
Олжас Сулеймен
на сайты гугла у вас нормально заходит? firebaseapp, dartlang? захожу через тор на них
Олжас Сулеймен
[
{
"type": "link",
"text": "https://canvas-c327b.firebaseapp.com/"
}
]
Maksym
Там Роскомнадзор блокирует дофига адресов Гугла в попытке заблочить Zello.
Kirill Saltykov
У меня они дольше обычного раза в 3 грузятся
admin
Эта, а я ж могу верстку на bootstrap'e на angular закинуть?
admin
Или все будет плохо? Просто помнется, что у меня перестали работать некоторые штуки...
admin
[
{
"type": "mention",
"text": "@bunopus"
}
]
Evgeny Kot
Ну, я проблем не вижу. У вас будут глобально подключены стили от bootstrap? И после этого вы будете их в компонентах юзать?
admin
Ну, то есть, просто верстка на бутстрапе, а "функционал" сделаю на ангуларе А то джс не мое :(
admin
Там просто некоторые компоненты отказывались работать (на сколько я помню), сообственно, как вот такое решается? Вроде как слайдер отказывался работать
admin
Ай кароче, сложнаааааа Как вы пишите на этом ангуларе ??
Vyacheslav Rusakov
что сложно?
tdesc
попробуйте с простых вещей )
tdesc
2-3 компонента которые заполняют какой нить объект данными
tdesc
ну вот ) AppComponent + SomeComponent
admin
Да ладно, я вернусь на джс лучше, а то писать буду 2 месяца ??
tdesc
ну это кто как обучается )
admin
Да у меня времени не особо много просто
admin
А на это придется потратить много времени(
tdesc
стлах это что такое? )
tdesc
ну если хочешь что то получить, надо потратиться
tdesc
веб компоненты все равно придется осваивать если хочешь под веб UI делать
tdesc
а с дартом заодно и считай нативную разработку под ios/android можно освоить ;)
admin
С дартом у меня проблема нема
tdesc
ну тогда разберись с простейшим Component и все
Олжас Сулеймен
на vue можно писать компоненты в стиле ангуляря с таипом.
Олжас Сулеймен
вуе хорош, но блин жс. язык без типов...(( я не против питона
Олжас Сулеймен
переписывал код threejs первых версии... то ли это материал, то ли цвет, толи массив обектов с материалами, ... ад
admin
Да у меня просто сайт супер динамический, так бы я хер юзал этот джс ??
stavanger
Imho. Когда интерфейс тяжелый, то есть слишком много интерактивных/динамических компонентов, использование фреймворков типа Angular, Vue, React как раз решает проблемы, с которыми неизбежно будет сталкиваться разработчик. Нужно внимательно посмотреть на интерфейс, прежде чем решиться писать его на jQuery или чистом js. Лично мне, последние 3 года не попадался интерфейс который бы мог отказаться от фреймворка в пользу jQuery или js, в наше время, львиная доля профессиональных интерфейсов может быть написана только на решениях типа Angular, Vue и т.д. Видел подобных извращения на jQuery - это киллометры макаронного кода, конфликты, поддержка такого когда оставляет желать лучшего. Тоже самое можно сказать и о чистом js.
stavanger
Если говорить о конкретном фреймворке, то лично мне ближе концепции именно Angular. Хотя был опыт сначала на React, потом на Vue.
stavanger
С AngularDart я пока только начнаю и это лучше чем на js и ts.
Богдан
Вот контрпример вашим суждениям - vscode - самый популярный редактор с довольно большим функционалом (смахивающий на ide то есть проект про которой уж точно нельзя сказать что он маленький) который написан на чистом js без всяких фреймворков. При чем про него нельзя сказать что он не поддерживаемый потому что иначе он не смог бы так динамично развиваться и выпускать обновления каждый месяц.
stavanger
Electron - чистый js?
stavanger
Electron в мире desktop, как Angular, Vue, React в мире web.
Богдан
[
"Я имел ввиду без фронтенд-фремворков вроде реакта, ангуляра или vue. То есть ручное создание, обновление, удаление дом-элементов ",
{
"type": "link",
"text": "https://github.com/Microsoft/vscode/blob/master/src/vs/base/browser/htmlContentRenderer.ts"
},
""
]
Богдан
electron как раз вообще в этом плане никакого отношения не имеет - он просто предоставляет апи которое недоступно в браузере вроде управления окнами, контекстным, меню и т.д
stavanger
Я вас понимаю, но все же я говорил немного о другом. Врядли вам бы захотелось писать на чистом js интерфейсы типа AdWords, Inbox.
j k
[
"теперь да, но там конечно свой движок ",
{
"type": "code",
"text": "jst"
},
"\nхотя я думал там Angular юзают"
]
stavanger
Все было к тому, что писать тяжелый интерфейс для веб стоит на фреймворке. Конечно в академических целях изобрести велосипед - дело чести, абсолютно убежден в этом. Так как такие вещи как js low level, познаются как раз через изобртением этих велосипедов. Но бизнес всегда ставит сроки.
Богдан
ну я согласен что с фреймворками проще потому что они позволяют описать шаблон и в нужных местах указать данные вместо ручного создания и обновления дом-элементов. Но почему-то разработчики vscode решили не использовать фреймворки и вручную управлять дом-элементами хотя казалось бы это прошлый век и декларативное описание интерфейсов а не jquery-like-лапша намного упрощает разработку
stavanger
За эту часть не могу с вами подескутировать, так как не писал десктопа на Electron.
stavanger
Даже интересно стало, возможно ли туда впихнуть какой-нибудь Angular, для управления состоянием например.
stavanger
Хотя может тут я уже и бред несу)
j k
писал я на electron небольшое приложение для локализации проекта, оно запускается долго, оно тупит, оно будет еще больше тупеть на старых ПК
j k
[
"в итоге нахрен electron\nвзял angular, сначала взял еще туда и webworker platform использовал, но оно забагованое, onchange select не работает + модель не изменялась, в итоге заюзал ",
{
"type": "mention",
"text": "@angular"
},
"/service-worker для кеша и все быстро работает"
]
Богдан
да electron тут вообще не причем - все electron приложения работают точно также как и обычные сайты - создают и обновляют dom-элементы, за очень редким исключением когда они работают через canvas или webgl
stavanger
Я вот буквально еще утром рассуждал на тему Electron. Чем он так цепляет, что на нем пишут Slack, GitBook, VSCode и кучу другого популярного ПО. Возможно небольшие накладные расходы..
j k
тем что не нужно кодовую базу писать новую или переписывать
stavanger
Ну кросплатформенность то понятно.
j k
в slack они много выкинули с electron, может даже собрали свою сборку chrome для этого
stavanger
Лично меня смущает js в нем. Но по сути, это веб, а веб без js..
stavanger
Может Flutter что-то подобное замутит на dart
j k
не знаю чем вас смущает js, он везде, пусть вы и пишете на dart, но в итоге js
stavanger
Можно похоливарить, но нет желания)
j k
жаль что в js не сделали норм типы
stavanger
И я абсолютно не фанат dart, потому что только пришел, пока нравится, посмотрим что будет.
j k
а я и не писал на нем ) вот так, читаю тут, анализирую, а стоит оно того, я только из-за flutter сюда зашел
stavanger
Динамическая типизация, undefined, класс можно написать 4 способами, const странного поведения,
stavanger
А NativeScript пробовали?
j k
я сейчас выбираю на чем мне писал под android / ios kotlin / dart + flutter, nativescript что впринципе нормально, ибо проект у меня в вебе
stavanger
NativeScript как раз для этиз целей
stavanger
Типа Flutter, только js
j k
расскажите подробно про flutter
stavanger
Я лично его еще не использовал, так что не возьмусь за подробно. Пока что меня только AngularDart интересует.
stavanger
Сегодня кстати вакансию на hh видел. Билайн, говорят что присматриваются к Flutter
Богдан
Я кстати против электрона но не потому что это типа веб вместо нативных компонентов а потому что он достаточно опасен. Достаточно обычного xss в коде (а для веба это одна из самых распространенных вещей) на электроне и этот xss превращается в rce - то есть злоумышленник может выполнить любой код на вашем компьютере - от внедрения вируса и заканчивая шифровальщиком. Да, отключение интеграции с нодой решает проблему но во первых будете ли вы при установке электрон-приложения смотреть исходники чтобы узнать отключена ли она ? а во вторых неизвестно появятся ли много других обходных способов (которые уже были и не раз) поскольку браузер в отличии от электрона работает через песочницу а электроне для того чтобы типа упростить разработку решили все поотключать. Кароче жду пока хром не запилит pwa а пока приходится пользоваться сайтами вместо десктоп-версий
stavanger
Согласен. Думаю что коммерческим лицензированным проектам он вообще не подходит. Исходники все открыты.
stavanger
Есть аналог Electron, nw.js (не помню точное название), там они как-то компилят бинарник.
Богдан
в nw.js точно так же опасен как и электрон - там возможность выполнить код ноды в index.html была из коробки. Они кстати компилят не в бинарник а в некий снапшот v8 который будет работать медленнее
stavanger
Кроме этих технологий, остается qt, xamarin или еще что-то интересное остается?
tdesc
любой современный веб обязан быть написан на одной из "платформ" потому что так правильно и быстрее и максимально эффективно делать веб и достигается объективно лучший user experience или на чистом js. использование jQuery признак отсталости.
O K
Любой современный веб никому ничем не обязан и технологии в нем вторичны. Если отличный продукт использует jquery, он не становится от этого менее отличным.
tdesc
я таковых не встречал. на jQuery
Evgeny Kot
Фреймворки просто дают абстракцию и удобство. Сейчас вообще можно сделать за пять минут то, что раньше занимало неделю
O K
Фреймворки облегчают реализацию типовых проектов. Как бы не больше и не меньше - захочешь чего-то нестандартного и всё, приплыл.
tdesc
"Фреймворки" это иногда может быть 1 файл с API как Polymer
tdesc
с оверхедом в 4 килобайта
tdesc
компонентная модель в принципе меняет весь подход к разработке клиента
tdesc
не видел я что то проектов на jQuery и Redux
tdesc
наследование компонентов дает гибкость, скорость и контроль кода такого уровня, что ни один jQuery элемент не сможет
admin
За qt на тебя сразу наедут все кому не лень
tdesc
Qt мог выжить в 2011, если бы Микрософт не купил Нокию и не убил бы Симбиан и Meego
tdesc
а так в 18 году делать ему в мире web нечего
tdesc
qml это считай шаблончики для qt
admin
Очень популярная штука
tdesc
мы говорим о полном цикле разработки продукта в 18 году
admin
Можно без с++ кода сделать проект
tdesc
еще в 11 году Нокиа уже прекрасно понимали, приложений больше нет
admin
в qml джс с коробкт же
tdesc
Сервисы - вот настоящее наше
tdesc
это значит предоставь доступ и удобный и быстрый с устройства клиента
tdesc
разработай и веб и моб, и прочие прелести, да не за год два, а за 4 месяца
tdesc
потому что через год, этот продукт уже нафиг может никому быть ненужен
tdesc
интересная вещь, это запуск андроид приложений без установки. вот, можно ли будет когда нибуть с flutter что то подобное сделать
Анатолий
Как же это пафосно звучит, а ведь вы сталкивались буквально с некачественным кодом. Я могу вам такого говна на ангуляре накидать, или сделать идеальную структуру с помошью require + jquery. Не надо кидаться из крайности в крайность. Есть понятия вне фреймверка, компоненты, организация кода, и структура. Именно это влияет, а не фреймверк
stavanger
Хотелось бы посмотреть на ваш jQuery в действительно крупном проекте.
stavanger
То что на фреймворке писать можно плохо, это верно, но не имеет отношения к этой теме. Главное что фреймворк позволит сделать, на сколько быстро и какой с каким подходом. С идеальной структурой на jQuery вы этого не добьетесь. Это как жонглировать неудобным предметом.
tdesc
Любой проект на jQuery будет работать в разы лучше на любом фреймворке, если у человека прямые руки и он не изобретает велосипеды. Не нужно недооценивать клиентскую архитектуру, она может быть сравнима по сложности с серверной.
O K
У предыдущих двух высказываний должна быть маркетинговая звездочка типа "* когда ваш проект - типовой"
O K
Когда проект не типовой, неудобным предметом при жонглировании зачастую становится сам фреймворк
Анатолий
Заиетьте, я не говорил что жквкри лучше, он априори не может быть лучше, как как это библиотека, и в любом фреймворке есть свой аналог. Но если взять еще пару библиотек и ичпользовать их вместе, они прекрасно заменят любой фреймверк. И код можно будет красиво и удобео структурировать, и разбить все на разные файлы с хорошей иерархией по пакетом с дальнейшей сборкой итд.
Анатолий
Другое дело что так практически не делают, предпочитая лапшекод. Отсюда и ненааисть к жквери ??
tdesc
Ненависть к jQuery из-за того, что это нерасширяемый код, большой размер jQuery тормозит старт приложения и любые манипуляции с домом приводят к практически неконтролируемым перерисовкам. Все современные фреймворки работают с shadow Dom.
tdesc
Любой фреймворк не отменяет в чистую использовать апи браузера. Хоть на канвас все рисуй
Анатолий
Не не, не совсем. Нерасширяемость прекрасно улучшается с помощью древней require.js или аналогам, она позволяет бить код на компоненты как у ангкляра с внедрением зависимостей. А манипуляции с домом можно контролировать а не перерисовывать всю страничку при изменении одного слова. До ангуляров все это как-то работало ведь, а сейчас внезапно начало тормозить. Были техники как избегать тяжелых манипуляций с дом и как их оптимизировать. Сейчас же все полагаются на вуе/ангуляр и говорят что остальное пдохо. Раньше тоже были нагруженые интерфейсом сайты, и при грамотном подходе она прекрасно работали. Хотя согласен, усилий придется приложить больше
Анатолий
Я кстати вообще удивлен что не все люди работающие с фронтом знают о DocumentFragment
tdesc
Я говорю о приложениях, которые рендерятся полностью на клиенте. Найти такой на jQuery и запусти на мобильнике
tdesc
Не расширяются компоненты jQuery без переписывания
Анатолий
Ну я опять же взываю к качеству исполнения пользовательского кода а не производительности библиотеки
stavanger
Еще я наблюдал как любят взять jQuery для запросов, потом сталкиваются с тем что нужно менять состояние и пытаются извращенно манипулировать этим. Все это боязнь фреймворков. Такое впечатление что на jQuery все замыкается. Есть Axios, нативный fetch и его полифилы. Все это тянется от кода джунов, которые не верно трактуют термин ajax.
tdesc
Размер jQuery какой
Анатолий
А ангуляра какой?
tdesc
У ангуляра только тот, от которого ты отнаследуешся
tdesc
Тоесть теоретически в пару килобайт
Анатолий
Та не, там же еще вендор подключается
Анатолий
В нем хороший кусок кода из ангуляра выходит
tdesc
Веб компоненты можно писать на чистом js
tdesc
У полимера точно оверхед в пару килобайт
Анатолий
Вуе значительно меньше по размеру ангуляра
Анатолий
Но в наше время, когда 3ж никого не удивишь, скачать бандл на мегабайт не проблема
tdesc
Я не уверен, пока с AngularDart5 не настолько знаком чтобы их сравнивать.
tdesc
У Гугла паттерн PRPL рекомендует не превышать 50к
tdesc
Следующий миллиард пользователей придет из развивающихся стран, рассчитывать на качественные сети это терять пользователей
tdesc
front-end performance checklist for 2018
Анатолий
Я сейчас не про дартовский, про жсный ангуляр
Анатолий
Я просто не знаю какой в дарте размер
Анатолий
У меня вебпак упорно выдает 2.1 мб бандл для продакшена
|