Почему я должен использовать Flex?

Как некоторые люди упоминали в комментариях, у вас есть проблема с вашими двойными кавычками, и они объяснили, как вы должны справиться с этим.
Я покажу вам, как решить проблему с SQL, которая у вас возникла. Я создам образец таблицы messages.

CREATE TABLE messages (
  id BIGSERIAL PRIMARY KEY ,
  sender_id BIGINT ,
  reciever_id BIGINT,
  message TEXT,
  sent_at TIMESTAMP
);

Теперь давайте заполним эту таблицу некоторыми данными:

INSERT INTO messages (sender_id, reciever_id, message, sent_at) VALUES
  (1,3,'User 1 to user 3 1 hour ago', '2017-07-10 15:00:00'),
  (1,3,'User 1 to user 3 last','2017-07-10 16:00:00'),
  (2,3,'User 2 to user 3 2 hours ago','2017-07-10 14:00:00'),
  (2,3,'User 2 to user 3 last','2017-07-10 16:00:00');

Теперь давайте скажем, что мы хотим найти все последние сообщения (по sender_id), которые были отправлены пользователю с помощью [ 114] 3.

Таким образом, исходя из входных данных, результат должен возвращать 2 сообщения:

  1. От пользователя 1 к пользователю 3 со значением «Пользователь 1 - последний пользователь 3»
  2. От пользователя 2 для пользователя 3 со значением «Пользователь 2 - последний пользователь 3»

Этого можно достичь с помощью следующего запроса:

WITH sender_last_message_time AS (
SELECT sender_id, MAX(sent_at) sent_at FROM messages
WHERE reciever_id = 3
GROUP BY sender_id )
SELECT * FROM messages m
JOIN sender_last_message_time r ON m.sender_id = r.sender_id AND r.sent_at = m.sent_at;

Объяснение:

I создайте sender_last_message_time CTE , который содержит время последнего сообщения (отправленное sender_id) для каждого отправителя. Когда у меня есть sender_id и время последнего сообщения для этого sender_id, я просто соединяю данные с таблицей messages, чтобы получить сообщения.

14
задан VirtuosiMedia 24 September 2008 в 16:07
поделиться

11 ответов

Я продвинул бы Вас к стандартным технологиям веб-разработки в большинстве случаев. JavaScript больше не является большой проблемой отладить или поддержать с пользой, освобождает как jQuery/Прототип для сглаживания некоторых несоответствий браузера и инструментов как Firebug и отладчик сценариев MS для помощи с отладкой.

существуют случаи, когда Flash является более оптимальным вариантом, но только в случаях, где Вы делаете сложные анимации. И, если Вы готовы инвестировать усилие, большинство анимаций может быть достигнуто, не обращаясь к флэш-памяти. пара из примеры ...

содержание Flash не так доступно как другое содержание.
Это будет не только влиять на людей с флэш-памятью, но также и пауков поисковой системы. Могут быть некоторые взломы, чтобы помочь обойти это теперь, но я думаю, что большая часть содержания флэш-памяти никогда не будет индексироваться Google.

Flash повреждает веб-UI.
, Например:

  • , Если я нажимаю свое колесо мыши на ссылку, та ссылка открыта на фоновой вкладке. В приложении флэш-памяти нет никакого способа моделировать это поведение.
  • , Если я выбираю текст в своем браузере и щелкаю правой кнопкой, я обеспечил опции браузером, которые включают вещи как "Поисковый Google для этого текста". В приложении флэш-памяти те опции больше не там.
  • , Если я щелкаю правой кнопкой по ссылке или изображению, я получаю другой набор опций, которые не доступны в приложении флэш-памяти. Это может быть очень печально пользователю, который не является "здравым смыслом флэш-памяти".
12
ответ дан 1 December 2019 в 06:44
поделиться

Кроме того, что было уже упомянуто здесь, другое существенное различие - то, что JavaScript с динамическим контролем типов, и ActionScript со статическим контролем типов. Хорошо ли это, или плохой будет зависеть от Вашей точки зрения:).

0
ответ дан 1 December 2019 в 06:44
поделиться

Если Вы хотите, чтобы Ваше веб-приложение было похоже, это не веб-приложение, Flex довольно хорош. Вы также добираетесь для обхождения всего беспорядка того, чтобы заставлять HTML+JS быть похожими на реальное приложение. Для чего-то, что является по существу веб-сайтом, Flex не мог бы быть лучшим выбором, но если Вы действительно хотите записать приложение, к которому, оказывается, получают доступ через браузер, это быстро для разработки с и дает большое выглядящие результаты.

0
ответ дан 1 December 2019 в 06:44
поделиться

Flex имеет много дополнительных издержек:

  • Новый язык
  • у Клиентов должна быть установленная флэш-память (возможно, должен был бы установить, не мог бы быть в состоянии к)
  • , Клиенты должны загрузить платформу гибкого провода (небольшое количество сотни килобайтов)
  • , содержание Flex не индексируется поисковыми системами (вопреки тому, чего Google мог бы требовать)

, Flex имеет одно основное преимущество: - лучше при создании богатых интерфейсов (см. Picnik.com, и т.д.)

, Например, в Flex, легко создать пользовательское стилизованное диалоговое окно, вместе с падающими тенями, внутренними свечениями, анимированными открытый, независимо от того, что Вы могли бы хотеть.

, Таким образом, используйте Flex при необходимости в дополнительном богатстве.

1
ответ дан 1 December 2019 в 06:44
поделиться

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

http://gears.google.com/

По существу механизмы Google предоставляет Вам доступ к двум полезным вещам для любого приложения: офлайновое хранение данных и собственное управление поточной обработкой (позволяющий обновления/вычисления работать в фоновом режиме и не замедлить пользовательский компьютер).

действительно хорошая вещь, можно использовать любую Платформу, которую Вы любите за свое приложение, пока хранение данных / извлечение, и серверная коммуникация обрабатывается с JavaScript.

Это также позволяет Вам кэшироваться безотносительно стороны клиента файлов, которую Вы хотите, который особенно полезен, когда Вы хотите избежать, что 'мерцающий' взгляд в браузере, в то время как некоторое необходимое изображение загружается браузером.

0
ответ дан 1 December 2019 в 06:44
поделиться

Несколько причин рассмотреть Flex:

  1. Библиотека программ управления намного более богата Flex, чем что-нибудь, что можно сделать с JS/DHTML. Средства управления построением диаграммы являются уничтожителем для бизнес-приложений и вещей как DataGrid / AdvancedDataGrid вполне прилично перед чем-либо, что можно сделать с HTML.

  2. Платформа Flex была разработана для того, чтобы создать приложения. Это абстрагирует далеко "основанные на кадре" понятия в Flash player, чтобы действительно помочь создать приложения. Это имеет хорошо разработанную иерархию компонентов, которая помогает расширить любые из стандартных средств управления. Это также имеет довольно интуитивную модель событий для вводов данных пользователем дескрипторов и помогает иметь любое из пользовательских событий отправки Ваших средств управления, которые могут пузыриться, чтобы породить компоненты или быть направленными через центрального диспетчера события. В то время как может быть возможно сделать это с JS/DHTML, я не думаю, что это почти как легкое, и это, конечно, не было разработано для него.

  3. Можно взять приложение Flex и быстро развернуть его на рабочем столе со временем выполнения AIR. AIR также предлагает дополнительные API для вещей как локальный системный доступ, встроенный DB SQLite, и т.д. Механизмы предлагают что-то подобное, но оно действительно требует браузера. Предоставленный, AIR требует времени выполнения AIR, но по крайней мере это ставится целью к созданию настольных приложений.

  4. Можно создать очень богатый, очень сексуальный UI, который пробьет пользовательские носки прочь. Как программисты мы не могли бы заботиться о UX, но наши пользователи делают. Часть причины, почему Apple имеет большой успех в последнее время, - то, потому что они действительно оценивают UX, и пользователи/потребители принимают во внимание это.

Самый большой довод "против" я думаю, - то, что, если Вы действительно привыкли к Java или C#, язык ActionScript будет казаться небольшим ограничением. При сравнении его JavaScript это по номиналу или возможно немного лучше.

Много людей снабдит направляющими на Flash player (или AIR), потому что это не "основано на стандарте". Если бы мы были только готовы использовать сайты, которые составляли 100% стандартов, совместимых и свободных от плагинов, то у нас не было бы YouTube сегодня. Или в значительной степени любой другой сайт, который делает интересную визуализацию данных, которую Вы не можете сделать с HTML/JS (или по крайней мере, не с нормальным уровнем усилия). Adobe был довольно прогрессивным в открытии платформы Flex, Пламя DS (для разработки Java бэкенда), публикация спецификации AMF и запуск Открыть Screen Alliance для продвижения Flash player к мобильным устройствам. Flash player, Flex, Разработчик Flex и Пламя DS у всех есть общедоступные средства отслеживания ошибки JIRA. Я сказал бы, что существует хороший шанс, что сам Flash player будет открытым исходным кодом в течение следующих 2-3 лет. Я думаю, что Adobe продолжает двигать быть очень открытым и что критические замечания платформы, "закрываемой" и "собственной", становятся менее релевантными. Я думаю, приближаются ли разработчики к Flex/FP без предубеждения, что они были бы действительно впечатлены тем, как все это совмещается.

0
ответ дан 1 December 2019 в 06:44
поделиться

Я недавно начал разрабатывать приложения Flex, и я лично нахожу это обновляющей платформой для сети.

Вы получаете приложение с сохранением информации, которое выполняет абсолютно сторону клиента. Вы не получаете беспокойства о мобильности перекрестного браузера, что Вы делаете с JavaScript, и Вы получаете некоторые действительно аккуратные вещи, такие как эффекты, построение графика и богатые компоненты пользовательского интерфейса.

Flex также помогает связаться с веб-сервисами, и XML, анализирующий через ECMA, безумно мощен и прост.

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

единственный реальный недостаток, о котором я могу думать, является требованием Flash player, но я сказал бы, что довольно безопасно предположить что большая часть Flash player поддержки браузера; даже konquerer в Linux поддерживается; намного больше таким образом время выполнения Silverlight (который я НИКОГДА не планирую на установке)

14
ответ дан 1 December 2019 в 06:44
поделиться

GWT позволяет Вам сделать тот же материал как Flex по большей части, и обрабатывает все проблемы совместимости браузера И позволяет Вам кодировать/отладить в Java с Вашим любимым IDE.

Все, не имея необходимость учить новый язык (или заплатить Adobe $ $ $ за IDE гибкого провода необходимо будет сделать что-либо реальное).

Flex имеет некоторые более симпатичные виджеты UI, чем GWT имеет из поля, но существует тонна сторонних виджетов (таких как GWT-EXT-JS), можно использовать - или, можно использовать существующие любимые виджеты JS с GWT.

Проверяют его, если Вы не имеете: http://code.google.com/webtoolkit/

1
ответ дан 1 December 2019 в 06:44
поделиться

Вот мой опыт: действительно необходимо рассмотреть 2 вещи отдельно - разработка и опыт конечного пользователя. Flex сияет в первой области:

  • ActionScript является хорошей смесью Java и JavaScript, таким образом, Вы получаете знакомый язык с мощной поддержкой ООП
  • , отладка намного легче, чем, чего можно достигнуть в платформе JavaScript
  • Flex, ориентирован на компонент и событийно-ориентирован, который помогает в создании богатых пользовательских интерфейсов (HTML не был действительно создан для поддержания приложения сценарии UI)

, С другой стороны, опыт конечного пользователя хуже при запущении приложения Flex по сравнению с приложением Ajax. Во-первых, необходимо было установить Flash player, но это - вероятно, не проблема для большинства компьютеров сегодня. Большие проблемы с удобством использования - Flash player обрабатывает все взаимодействия UI (вместо браузера), таким образом, менеджер паролей не работает, текстовые поля не помнят предыдущие записи, Ctrl+T и щелчок средней кнопкой не работают, текстовый поиск не работает и т.д. и т.д.

, Мой совет был бы - если Вы разрабатываете приложение (богатый UI, относительно разделенный от остальной части сети), пойдите для Flex, поскольку это сэкономит Вам время, деньги и сделает Ваших пользователей более счастливыми путем обеспечения более богатой функциональности и более короткие периоды между новыми версиями. С другой стороны, если Ваше приложение должно быть тесно интегрировано с сетью, и Вы хотите, чтобы Ваши пользователи были в состоянии использовать функции своих браузеров, пойдите с Ajax.

Хорошим примером является Google Docs по сравнению с Модным словечком. Модное словечко намного более многофункционально (например, текст может течь вокруг изображения с обеих сторон, которое является чем-то, чего Вы никогда не могли достигать в DHTML), но Google все еще решил пойти для версии Ajax, потому что они - "веб-компания". Нет никакого права или неправильно в выполнении его тот или другой путь, это просто отличается, и важно рассмотреть, кто Ваши конечные пользователи.

14
ответ дан 1 December 2019 в 06:44
поделиться

Я не могу быть уверен, было ли это самостоятельно, или кто-то еще, кто сделал тот оператор, но я определенно буду, для высказывания 'использует правильный инструмент для задания'.

Flex имеет многочисленное сообщество позади него и хорошо раздут командой евангелизма платформы Adobe. Теперь, до замены JavaScript, который походит на предмет обсуждения очень широкого спектра. Flex не замена для JavaScript. Что это делает, это преуспевает, как бы то ни было. Таким образом, 3D, рисунок и рендеринг данных, ли в диаграмме или табличной форме. Flex также имеет силу ActionScript 3 позади него, который позволяет Вам делать большую часть того, какой Flash делает в сотрудничестве с MXML frontend компоненты, никогда не касаясь временной шкалы или ключевых кадров.

В некотором смысле, Flex является.NET Flash и Богатой разработки интернет-приложения. Это использует те же понятия источника данных, и компонент сфокусировал структуры дизайна, которые помогают, и быстро разработать в.

реальный вопрос, чего Вы пытаетесь достигнуть? Какова конечная цель?

относительно точки отладки, Flex имеет истинный отладчик и профилировщика в Flex Builder IDE. JavaScript, к сожалению, имеет другой синтаксис и выполнение между браузерами из-за природы механизмов JavaScript в современных браузерах. Flex, потому что это - по существу Flash, использует тот же механизм визуализации во всех браузерах из-за использования Флеш-плагина.

Hope, которая разрешает несколько вещей.:)

1
ответ дан 1 December 2019 в 06:44
поделиться

Эта сравнительная таблица была достаточно хороша, чтобы я решил, что использовать. Я предпочел javascript :)

http://askmeflash.com/article_m.php?p=article&id=11

0
ответ дан 1 December 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: