All streams
Search
Write a publication
Pull to refresh
6
0
Георгий Дерновой @george3

исследователь, программист, изобретатель

Send message
Все верно. клиент и сервер может быть на чем угодно. Главное — соответствие описанию данных.
И не подумаю смириться. Я передаю именно данные таблицы. А вы же ставите в упрек что любые данные JSON uniGUI автоматом не сконвертит в нормальный вид. Отображение ваших данных в данные таблицы — это дело ваше личное. Любой JSON сконвертить в редактируемое GUI представление — ноу проблем (делал такое). Но здесь речь идет о нормальном app GUI. и для этого нужны минимально необходимые данные описания элемента(ов). повторюсь — потомки нас рассудят.
назначение uniGUI — избавить программиста от знания любых деталей o GUI, отдав ему минимальное описание своих данных. проще говоря — не думать o GUI и не программить GUI. только реакция на изменение юзером данных.
у меня сложные Gui. Скрин с редактора мед. знаний. весьма богатый на деревья, таблицы, doc viewers…
Любой блок должен влазить на экран. если не влазит — обрезается. если блоков много и их всех можно задизайнить/отрисовать на экране — будет сделано.
у меня точно такие.
по вашему получется что все есть разметка. я же утверждаю, что таблица, список и остальное описаны как их данные без всякой разметки. впрочем, потомки нас рассудят.
тот набор элементов и функционала, который есть в uniGUI на данный момент покрывает все мои потребности. багов от него не ловил уже 2 недели.
Встроенный автодизайнер можно рассматривать как ИИ web-дизайнера. но это не точно.
покажите где вы видите разметку. мож мы понимаем термин по разному…
Никакой разметки нет. Только чистые, ничем не замутненные данные. Конструкция Block нужна для логической группировки, чтобы данные шли в том порядке, в котором вы ожидаете их увидеть. Стили — это дело uniGUI и пользователя, не меня, как программиста. две прошитых темы для бизнес-app, соотвествующих Google MD по мне так достаточно. Вся логика на сервере, на одном языке. Сделал, чтобы не тратить время на GUI. Уже не трачу.
Если появится условный App Browser

Написал такой для своих задач.) В общем по силам одному человеку, если ограничить а-ля бизнес/саенс приложениями. Соберусь написать статью, насколько удобно жить без js/chrome/css и иметь GUI работающий везде одинаково. с любыми языками сервера. Под капотом использован flutter.
в некоторых реализациях Python на промежуточном этапе может генерироваться, скажем, JavaScript, а не байт-код.

Это в какой реализации?
Nim не первый и не лучший(ИМХО)кто пытается сделать ядреный сплав простоты и эффективности (Pythonic-like, macros, compiled,..). Был такой Boo (остановился в 2010 из-за перехода автора в Unity), имел на 25% короче синтаксис, макросы, работал на .Net. Все было круто до 2010, поддержка со стороны SharpDevelop лучше чем у Nim сейчас. Был Nererle c директивой pragma=indent программы были размером равны аналогу на Python, царь метапрограммирования. Убит Microsoftом ввиду опасности для С# и F# и прочих его унылых языков. Авторы взяты на работу в MS на левые проекты за мешок денег. Cobra,… все ушли. Слишком инертный мир в программинге. Слишком.
Идея заменить Python быстрым языком правильная, но зачем вводить в язык архидревние конструкции типа END в конце блоков? Неужели нельзя обойтись без таких лютых загонов — отсутствием ООП и корявым синтаксисом (местами). Хочешь заменить Python — делай совместимый синтаксис и расширяй во все стороны. Нет же — хоть одно колесо в велике сделаем треугольным.
А кто платит за эти маски? FB?
Человек не может принять правильного решения на основании описания флюорограммы/мамограммы и.т.д.
Программа на основе анализа снимка может дать решение что делать дальше. Один и из советов — посещение врача с объяснением зачем и какие последствия за игнор. Правда такими серьезными системами никто кроме IBM не заморачивается, да и они со скромным успехом. Но никаких теоретический препятствий к разработке этого нет кроме одной — трудоемко.
Люди предпочитают людей однозначно.
Это инерция пройдет когда правильные проги появятся. Получить лучший совет задешево и дураку захочется.
Нет. внутренние оптимизации Flutter продолжают работать. команда на отрисовку(обновление) приводит к пересчету кодопредствления в build. обновляется графика только там (в тех частях) где код перестал совпадать с пред. состоянием от build.
Мне пофиг на то что там думают. в моей схеме я обновляю именно те виджеты/области, которые должны обновится и автоматом. для этого написал два класса сверху и все мои виждеты/состояния наследуются от них и все становится прозрачно и доступно.
abstract class UpdateWidget extends StatefulWidget with SizeInfo{
  UpdateWidget(this.data);
  final dynamic data;
  String get name{ return data['name'];}
}

abstract class UpdateState<T extends UpdateWidget> extends State<T>{
  String get name{ return widget.data['name'];}
  void updateData(dynamic data)
  {
    setState(() => data.forEach((k,v) => widget.data[k] = v));
  }
  @override
  void initState() {
    registerState(this);
    super.initState();
  }
  @override
  void dispose(){
    unregisterState(this);
    super.dispose();
  }
  @override
  void didUpdateWidget (covariant T oldWidget){
     super.didUpdateWidget(oldWidget);
     unregisterState(this);
     registerState(this);
  }
}

Все эту с прокидыванием через провайдеры, GlobalStates,… не использую, ибо с ней все становится мутно для меня.
Ну вы же не можете любой виджет по id достать и что-то с ним сделать

из коробки не могу. надстройку сделал — все могу. фрагмент:

Map<dynamic, UpdateState> _stateMap = {};

void registerState(UpdateState state){ _stateMap[state.widget.data] = state;}

void unregisterState(UpdateState state){ 
  for(var kv in _stateMap.entries)
    if (kv.value == state)
    {   
      _stateMap.remove(kv.key);      
      break;
    }
}

Information

Rating
5,443-rd
Location
Таиланд
Registered
Activity