Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Serginio1, Вы писали:
_>>>Ты действительно считаешь, что подобное (а оно будет всплывать во всех вычислениях на массивах) — это ничего страшного? ) S>> А сколько таких задач встречается для обычного программиста? Вконце концов всегда можно использовать унсейв код для оптимизации по скорости.
_>В приведённом примере есть замеры и для unsafe — всё равно ничего хорошего.
Прошу прощения имел ввиду итероп нативных DLL .
S>>Мало того многие используют неоптимальные классы для решения своих задач. И при выборе правильного алгоритма скорость может достигать в разы. S>>http://rsdn.ru/article/alg/tlsd.xml
_>Ну так это же уже вопросы, не зависящие от выбора платформы разработки.
Зато очень зависят от уровня программистов, которые в большинстве используют алгоритмы которые удовлетворяют их по скорости и при этом им понятны и удобны.
S>> Я думаю, что будет развиваться в двух направлениях. S>>Компиляция C# и XAML в JavaScript
_>Просто компилятор C#/XAML в JavaScript ничего особо интересного не приносит. Такого добра вообще полно на всех языках, от TypeScript до C++. И оно может имеет какой-то смысл только в виде разработки особо сложных сайтов, но не мобильных приложений. Потому что весь смысл Cordova (или скажем Qt) как раз в кроссплатформенном доступе к нативным возможностям платформы (к тому же акселерометру скажем).
Ну не совсем. TypeScript заточен под JavaScript.
На C# и XAML много Silverlight кода. Я например иногда пишу приложения для терминалов сбора данных. Мне удобно использовать тот язык который я знаю. И очень хорошо, что приложение будет кроссплатформенным. В большинстве задач реактивная скорость просто не нужна. В большинстве случаев важна скорость разработки.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>На C# и XAML много Silverlight кода. Я например иногда пишу приложения для терминалов сбора данных. Мне удобно использовать тот язык который я знаю. И очень хорошо, что приложение будет кроссплатформенным. В большинстве задач реактивная скорость просто не нужна. В большинстве случаев важна скорость разработки.
Ещё раз, дело вообще не в скорости. Речь о том, что без Cordova данное JS приложение будет ограничено API браузера, что подходит только для крайне тривиальных случаев.
Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Serginio1, Вы писали:
S>>На C# и XAML много Silverlight кода. Я например иногда пишу приложения для терминалов сбора данных. Мне удобно использовать тот язык который я знаю. И очень хорошо, что приложение будет кроссплатформенным. В большинстве задач реактивная скорость просто не нужна. В большинстве случаев важна скорость разработки.
_>Ещё раз, дело вообще не в скорости. Речь о том, что без Cordova данное JS приложение будет ограничено API браузера, что подходит только для крайне тривиальных случаев.
А это что за плагины? http://cordova.apache.org/docs/ru/edge/guide_hybrid_plugins_index.md.html http://www.codeproject.com/Articles/860150/Visual-Studio-and-Apache-Cordova
Мало того сейчас MS работает над кроссплатформенностью и вполне вероятно, что скоро C# и XAML будет работать подо всеми платформами
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
_>>Ещё раз, дело вообще не в скорости. Речь о том, что без Cordova данное JS приложение будет ограничено API браузера, что подходит только для крайне тривиальных случаев. S>А это что за плагины? http://cordova.apache.org/docs/ru/edge/guide_hybrid_plugins_index.md.html
Ну так это как раз и есть суть Cordova. Расширение api браузера с помощью нативных плагинов. И главное что для большинства стандартных возможностей обычных устройств (мобильников и т.п.) они уже давно написаны под все платформы и находятся в реестре. Т.е. в принципе для написания обычного мобильного приложения достаточно знать только JS (и при это пользоваться камерой, акслерометром и т.п.). Ну а если хочется подключить к своему мобильнику некое хитрое устройство (например какой-нибудь там терминал по usb), то тогда берёшь и пишешь на C++ соответствующий плагин. Если устройство не уникальное, то можно даже отправить его в общий реестр, чтобы другие люди пользовались. )))
На мой взгляд это вполне правильная архитектура. Конечно она ещё не до конца вылизана, но с каждым годом становится лучше и лучше.
S>http://www.codeproject.com/Articles/860150/Visual-Studio-and-Apache-Cordova S> Мало того сейчас MS работает над кроссплатформенностью и вполне вероятно, что скоро C# и XAML будет работать подо всеми платформами
Хыхы, да ничего они не могут. Вот если посмотреть на обзор новой студии, то там как раз предлагается вроде как кроссплатформенность для всех трёх типов приложений:
1. C++. Полный фэйл — они там назвали кроссплатформенностью возможность написания отдельного (!) приложения под каждую платформу.
2. .Net. Представлено половинчатое решение (UI надо писать отдельно под каждую платформу) — Xamarin, и то не своей разработки.
3. JS. Представлено полноценное решение — Cordova, опять же не своей разработки.
Т.е. по факту всё что представлено, это или пшик или чужое.
Безотносительно ко всему остальному, вот это:
_> UI надо писать отдельно под каждую платформу
— так, как оно должно быть (по крайней мере в современном мире). У каждой платформы свои метафоры и способы взаимодействия, а UI, который «одинаково работает на всех платформах» работает на всех одинаково погано (см. Tk)
_>1. C++. Полный фэйл — они там назвали кроссплатформенностью возможность написания отдельного (!) приложения под каждую платформу. _>2. .Net. Представлено половинчатое решение (UI надо писать отдельно под каждую платформу) — Xamarin, и то не своей разработки.
На самом деле морду нарисовать то не проблема, проблема нарисовать её красиво. Большую часть времени это написание кода. Так, что вполне нормальное решение.
_>3. JS. Представлено полноценное решение — Cordova, опять же не своей разработки.
_>Т.е. по факту всё что представлено, это или пшик или чужое.
А какая разница чья разработка? Главное, что ими можно воспользоваться в VS. Заплатил и работай себе спокойно.
А по поводу Net. То я пользуюсь как дополнение к 1С очень часто Использование сборок .NET в 1С 7.x b 8.x.
как на декстопе, так и на сервере, для ТСД на мобильной ОС, ASP.net. Так, что охват достаточно большой.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Гест, Вы писали:
_>> UI надо писать отдельно под каждую платформу Г>— так, как оно должно быть (по крайней мере в современном мире). У каждой платформы свои метафоры и способы взаимодействия, а UI, который «одинаково работает на всех платформах» работает на всех одинаково погано (см. Tk)
Нет, это зависит от используемой архитектуры взаимодействия с платформой. Возможны 3 основных варианта:
1. Приложение использует нативные контролы (ну и всё остальное) платформы — выглядит везде идеально. Как хороший пример тут wxWidgets. Но из-за такого подхода могут возникать трудности в реализации. К примеру у них до сих пор нет порта под Android...
Xamarin формально тоже относится к этой области, но при этом у них не вышло создать кроссплатформенный api — приходится писать заново под каждую платформу.
2. Приложение рисует контролы само, но маскируется под нативные под каждой платформой. При хорошей реализации невозможно отличить от родного приложения, так что выглядит (и работает) всё идеально. Как пример Qt.
3. Приложение рисует само некий оригинальный интерфейс, одинаковый на всех платформах. Как пример вот тот же Tk, или некоторые Java решения. Действительно не очень естественно выглядит. Но есть одно исключение! Это HTML интерфейсы — пользователи уже в принципе привыкли к ним (никто же не требует, чтобы сайт выглядел по разному на разных устройствах) и воспринимают нормально на любых платформах. И вот Cordova как раз и реализует такое.
Здравствуйте, Serginio1, Вы писали:
_>>2. .Net. Представлено половинчатое решение (UI надо писать отдельно под каждую платформу) — Xamarin, и то не своей разработки. S> На самом деле морду нарисовать то не проблема, проблема нарисовать её красиво. Большую часть времени это написание кода. Так, что вполне нормальное решение.
Конечно оно вполне рабочее. Но если рядом есть решение, позволяющее сделать тоже самое, но проще и быстрее (не делая 2-3 версии), то... )
_>>Т.е. по факту всё что представлено, это или пшик или чужое. S> А какая разница чья разработка?
Это я отвечал на тему "MS работает над кроссплатформенностью". )))
S> Главное, что ими можно воспользоваться в VS. Заплатил и работай себе спокойно.
Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Гест, Вы писали:
_>>> UI надо писать отдельно под каждую платформу Г>>— так, как оно должно быть (по крайней мере в современном мире). У каждой платформы свои метафоры и способы взаимодействия, а UI, который «одинаково работает на всех платформах» работает на всех одинаково погано (см. Tk)
_>Нет, это зависит от используемой архитектуры взаимодействия с платформой. Возможны 3 основных варианта: ...
Ох неты. Это всё соображения примерно из времён условного Delphi и MFC, когда под «контролами понимали» набор 5 базовых элементов типа кнопка-листбокс-чекбокс. (Даже и тогда идея, что «достаточно сымитировать внешний вид и пользователь ничего не заметит», работала кое-как: линуксячье приложение на винде — в каком угодном скине — было видно по отличающемся набору метафор, подходов, или вдруг неспособности вызвать системный диалог когда он нужен.)
Сегодня разработка интерфейса — это разработка взаимодействия, особенно если мы о мобильных интерфейсах говорим. И платформа, под которую разрабатывается интерфейс, определяет именно базовые метафоры взаимодействия, а не какого цвета должны быть иконочки и жирный ли шрифт. Это дизайн того, откуда появляется контент и что должен сделать пользователь чтобы изменить этот контент, и как проявится индикация выполнения команд пользователя и т.д. Нет ни одного способа из одних исходников собрать хороший интерфейс для нескольких разных мобильных платформ (разве что это будет «совсем стандартный» интерфейс, типа список и две кнопки; как только вы начнёте впихивать третью — окажется, что для того же Android и iOS делать это надо по-разному).
Здравствуйте, Гест, Вы писали:
Г>Ох неты. Это всё соображения примерно из времён условного Delphi и MFC, когда под «контролами понимали» набор 5 базовых элементов типа кнопка-листбокс-чекбокс. (Даже и тогда идея, что «достаточно сымитировать внешний вид и пользователь ничего не заметит», работала кое-как: линуксячье приложение на винде — в каком угодном скине — было видно по отличающемся набору метафор, подходов, или вдруг неспособности вызвать системный диалог когда он нужен.)
Что-то ты похоже недооцениваешь Qt) Он способен на намного более сложные вещи. Вот сейчас уже до 3D интерфейсов (очки то уже на подходе) дошли: https://www.youtube.com/watch?v=S8oVS3onQV0 А ты говоришь 5 базовых элементов...
Г>Сегодня разработка интерфейса — это разработка взаимодействия, особенно если мы о мобильных интерфейсах говорим. И платформа, под которую разрабатывается интерфейс, определяет именно базовые метафоры взаимодействия, а не какого цвета должны быть иконочки и жирный ли шрифт. Это дизайн того, откуда появляется контент и что должен сделать пользователь чтобы изменить этот контент, и как проявится индикация выполнения команд пользователя и т.д. Нет ни одного способа из одних исходников собрать хороший интерфейс для нескольких разных мобильных платформ (разве что это будет «совсем стандартный» интерфейс, типа список и две кнопки; как только вы начнёте впихивать третью — окажется, что для того же Android и iOS делать это надо по-разному).
Это ты сам пробовал (с Qt) или твои предположения? )
Здравствуйте, alex_public, Вы писали:
Г>>Ох неты. Это всё соображения примерно из времён условного Delphi и MFC, когда под «контролами понимали» набор 5 базовых элементов типа кнопка-листбокс-чекбокс. (Даже и тогда идея, что «достаточно сымитировать внешний вид и пользователь ничего не заметит», работала кое-как: линуксячье приложение на винде — в каком угодном скине — было видно по отличающемся набору метафор, подходов, или вдруг неспособности вызвать системный диалог когда он нужен.)
_>Что-то ты похоже недооцениваешь Qt) Он способен на намного более сложные вещи. Вот сейчас уже до 3D интерфейсов (очки то уже на подходе) дошли: https://www.youtube.com/watch?v=S8oVS3onQV0 А ты говоришь 5 базовых элементов...
Я не говорил о том, что «библиотеки не способны сделать сложные вещи». Я говорил о том, что «сделать один интерфейс, который бы на всех платформах выглядел нативно», можно только в простейших случаях. Дальше это уже не вопрос «маскировки отдельных контролов», а общего подхода к интерфейсу.
Г>>Сегодня разработка интерфейса — это разработка взаимодействия, особенно если мы о мобильных интерфейсах говорим. И платформа, под которую разрабатывается интерфейс, определяет именно базовые метафоры взаимодействия, а не какого цвета должны быть иконочки и жирный ли шрифт. Это дизайн того, откуда появляется контент и что должен сделать пользователь чтобы изменить этот контент, и как проявится индикация выполнения команд пользователя и т.д. Нет ни одного способа из одних исходников собрать хороший интерфейс для нескольких разных мобильных платформ (разве что это будет «совсем стандартный» интерфейс, типа список и две кнопки; как только вы начнёте впихивать третью — окажется, что для того же Android и iOS делать это надо по-разному).
_>Это ты сам пробовал (с Qt) или твои предположения?
Что сам пробовал-то? Какой-такой магией Qt или что угодно ещё, в единожды нарисованном (по условию задачи) интерфейсе обеспечит, чтобы под Андроидом у приложения была андроидная навигация, а под иосом — иосная? В смысле основных метафор и соотношения экранов, а не цвета кнопочек?
Здравствуйте, Гест, Вы писали:
Г>Что сам пробовал-то? Какой-такой магией Qt или что угодно ещё, в единожды нарисованном (по условию задачи) интерфейсе обеспечит, чтобы под Андроидом у приложения была андроидная навигация, а под иосом — иосная? В смысле основных метафор и соотношения экранов, а не цвета кнопочек?
Там нет никакой магии. Просто большой объём разного кода под каждую отдельную платформу. Только вот весь этот код уже написан и находится в готовой библиотеке — в своём приложение я его просто использую. Причём с помощью унифицированного API (это по сути ключевое отличие Qt, wxWdgets и им подобных от Xamarin).
P.S. Я естественно не говорю что Qt идеальна. Там куча своих минусов, тонкостей и т.п. Но такое есть везде, а в целом "оно работает". )))
Здравствуйте, alex_public, Вы писали:
Г>>Что сам пробовал-то? Какой-такой магией Qt или что угодно ещё, в единожды нарисованном (по условию задачи) интерфейсе обеспечит, чтобы под Андроидом у приложения была андроидная навигация, а под иосом — иосная? В смысле основных метафор и соотношения экранов, а не цвета кнопочек?
_>Там нет никакой магии. Просто большой объём разного кода под каждую отдельную платформу. Только вот весь этот код уже написан и находится в готовой библиотеке — в своём приложение я его просто использую. Причём с помощью унифицированного API (это по сути ключевое отличие Qt, wxWdgets и им подобных от Xamarin).
Ты не уходи от вопроса — откуда в разных платформах появится разная навигация ? Метафоры каким образом заимплементируются по разному ?
Здравствуйте, Mamut, Вы писали:
VD>>Авторы этого фреймворка сделали колосальную работу, но когда они показали ее людям, люди их тупо не поняли (не захотели понять). Естественно, что у них опускаются руки после этого.
M>У ClojureScript с Om'ом не опустились (и люди делают на нем охрененные вещи), а у авторов NemerleWeb'а опустились Вы постоянно ищите врагов в других а не в самих себе. Если вы неспособны объяснить, что это такое, и зачем оно нужно, это ваша проблема, а не всех вокруг.
У нас опустились руки, потому что за полтора года напряжённой работы практически не появилось людей, которые бы поддерживали проект. Людей, кто хотя бы скомпилировал Hello World пример можно было пересчитать по пальцам. Статья на хабре так и вовсе вызвала негативную реакцию.
Вкладывать много сил в проект, который никому кроме тебя не интересен — это сложно.
Здравствуйте, alex_public, Вы писали:
_>1. Приложение использует нативные контролы (ну и всё остальное) платформы — выглядит везде идеально. Как хороший пример тут wxWidgets. Но из-за такого подхода могут возникать трудности в реализации. К примеру у них до сих пор нет порта под Android...
А как быть с банальным другим расположением кнопок? Скажем, в винде принято ок слева, отмену — справа, в макос — наоборот. Qt с этим пытается бороться вводя специальные контролы в виде двух кнопок. Такие вещи нативными быть ведь не могут.
Здравствуйте, ionoy, Вы писали:
I>У нас опустились руки, потому что за полтора года напряжённой работы практически не появилось людей, которые бы поддерживали проект. Людей, кто хотя бы скомпилировал Hello World пример можно было пересчитать по пальцам. Статья на хабре так и вовсе вызвала негативную реакцию.
I>Вкладывать много сил в проект, который никому кроме тебя не интересен — это сложно.
Негативная реакция — это вполне естественно и понятно, прочувствовал на своём примере неоднократно.
Скажем, из относительно свежего мне весьма интересен раст. При этом когда об языке только услышал, то полез немного разбираться и первая реакция была именно негативная — "ффууу, нет нормальных темплейтов, а вместо них какие-то ограниченные дженерики, нет перегрузки функций, исключений и т.д.".
Надо понимать, что люди с опытом другого языка будут, в первую очередь, смотреть может ли новый язык делать то, что они привыкли более удобным способом. При этом они могут не понимать, что язык предоставляет другие более мощные возможности, так что эти задачи будут решаться иначе. Можно преодолевать барьер, а можно обвинять всех вокруг в "парадоксе блаба".
Прекрасно понимаю, что это непросто и "затратно", поэтому выход мне видится в том, чтобы делать то, что нужно, в первую очередь, самому. Мозилла в расте какие-то перспективы увидела, вот и вкладывает деньги. Я в web-разработке не разбираюсь, но возникает вопрос — тебе и остальным авторам NemerleWeb он нужен? Если да и решает свою задачу лучше других инструментов, то в чём проблема? Можно развивать для себя и пиарить понемногу.
Здравствуйте, DarkEld3r, Вы писали:
DE>Прекрасно понимаю, что это непросто и "затратно", поэтому выход мне видится в том, чтобы делать то, что нужно, в первую очередь, самому. Мозилла в расте какие-то перспективы увидела, вот и вкладывает деньги. Я в web-разработке не разбираюсь, но возникает вопрос — тебе и остальным авторам NemerleWeb он нужен? Если да и решает свою задачу лучше других инструментов, то в чём проблема? Можно развивать для себя и пиарить понемногу.
Дело в том, что я на тот момент ушёл из веб разработки, поэтому своих проектов где NemerleWeb можно было бы применить не было. Поэтому дальше примеров и дерева для rsdn дело не зашло.
Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Serginio1, Вы писали:
_>>>2. .Net. Представлено половинчатое решение (UI надо писать отдельно под каждую платформу) — Xamarin, и то не своей разработки. S>> На самом деле морду нарисовать то не проблема, проблема нарисовать её красиво. Большую часть времени это написание кода. Так, что вполне нормальное решение.
_>Конечно оно вполне рабочее. Но если рядом есть решение, позволяющее сделать тоже самое, но проще и быстрее (не делая 2-3 версии), то... )
я выберу то, на чем мне проще писать.
_>>>Т.е. по факту всё что представлено, это или пшик или чужое. S>> А какая разница чья разработка?
_>Это я отвечал на тему "MS работает над кроссплатформенностью". )))
Ну вот теперь лопатить всю тему. Ты бы хоть ссылку дал.
S>> Главное, что ими можно воспользоваться в VS. Заплатил и работай себе спокойно.
_>Непонятно только за что платить, если я ещё год назад спокойно ставил себе Cordova и работал с ней абсолютно бесплатно. )
За VS со всеми примочками
S>> А по поводу Net. То я пользуюсь как дополнение к 1С очень часто Использование сборок .NET в 1С 7.x b 8.x<br />
<span class='lineQuote level2'>S>></span>.
_>Вот про 1С не могу ничего сказать ни хорошего, ни плохого — совсем не разбираюсь в этом вопросе. )
Ну вот не разбираешься в самом популярном языке в России
и солнце б утром не вставало, когда бы не было меня
I>У нас опустились руки, потому что за полтора года напряжённой работы практически не появилось людей, которые бы поддерживали проект. Людей, кто хотя бы скомпилировал Hello World пример можно было пересчитать по пальцам. Статья на хабре так и вовсе вызвала негативную реакцию.
I>Вкладывать много сил в проект, который никому кроме тебя не интересен — это сложно.
Неужели. И в этом, видимо, виноваты тупые пользователи, которые неосилили? Что-то мне подсказывает, что у практически любого проекта «за полгода» мало, кто появляется. Что у вас, что у Влада какой-то детский максимализм. «Мы сразу станем знаменитыми, не прилагая никаких усилий»
Более того, вместо того, чтобы проанализировать, почему статьи и введения вызвали негативную реакцию, вы опустили руки, потому что никто не оценил вашу гениальность
Вообще, комментарии под новостью очень показательны. Особенно Влад в белом платье, вокруг одни идиоты. Честно, только почитав его коммнетарии я бы на НемерлеВеб не взглянул бы никогда, от слова вообще. А потом все ходят вокруг и ноют, что все неблагодарные крикуны
Там есть очень правильный, очень грамотный комментарий. Который я говорю уже несколько лет, но — все об стену горох:
Одним ключевым словом — это миф. Это данный конкретный случай. Закладываться на неясную модификацию языка C# с микроскопическим коммунити, с неработающим вики на офиц сайте, полуживыми форумами и чуть ли не единственным разработчиком в продакшн проектах — ну сами посудите, оно надо? Смысл какой? Больше оверхеда по переучиванию и отлову багов будет, чем пользы.
И пока вы все, связанные что с Нитра, что с НемелеВебом, что с Немерле, не поймете, ваш удел — сидеть в преманентном состоянии «за полгода никто так ничего и не скачал и не посмотрел». Хотя легче написать такое:
Миф — это только для тех кто не в теме.
Учиться нужно, в первую очередь, для себя.
Тут вот в обсуждении очень много высказываний в стиле персонажа одной известной басни. Не уподобляйтесь им!
Жалко здесь нет смайликов, потому что сообщение очень смешное. Покритиковал и предложил сделать то что критиковал (причем его альфа-версию). Видимо критиковать намного проще и интереснее нежели разобраться в предмете критики.
Здравствуйте, Mamut, Вы писали:
I>>Вкладывать много сил в проект, который никому кроме тебя не интересен — это сложно.
M>Неужели. И в этом, видимо, виноваты тупые пользователи, которые неосилили? Что-то мне подсказывает, что у практически любого проекта «за полгода» мало, кто появляется. Что у вас, что у Влада какой-то детский максимализм. «Мы сразу станем знаменитыми, не прилагая никаких усилий»
Не пол, а полтора. А если в целом, то и все два.
Ты пробовал когда-нибудь пилить с нуля сложный проект который никому кроме тебя не интересен?