Какую платформу я должен выбрать - Шов, Калитка, JSF или GWT? [закрытый]

Я нашел одно решение. Вы должны использовать селен webdriver в режиме headless, получить page_source от драйвера и дать немного time.sleep(). Я проверил данные, которые он показывает, как и ожидалось.

Однако я не знаю ваш список URL, поэтому вы можете создать свой список и попробовать его. Дайте мне знать, если вам нужна дополнительная помощь.

from selenium import webdriver
from bs4 import BeautifulSoup
import time

teamlinks=['http://www.premierleague.com//clubs/1/Arsenal/squad?se=79','http://www.premierleague.com//clubs/1/Arsenal/squad?se=54']
playerLink1 = []
playerLink2 = []


    for i in range(len(teamlinks)):
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('window-size=1920x1080');
        driver = webdriver.Chrome(options=chrome_options)
        driver.get(teamlinks[i])
        time.sleep(10)
        squadPage=driver.page_source
        soup = BeautifulSoup(squadPage, 'html.parser')
        playerLocation = soup.findAll('a', class_=re.compile("playerOverviewCard"))
        for i in range(len(playerLocation)):

            #Save the link, complete with domain.
            playerLink1.append("http://www.premierleague.com/" +
            playerLocation[i]['href'] + '?se=79')
            #For the second link, change the page from player overview to stats
            playerLink2.append(playerLink1[i].replace("overview", "stats"))
        driver.quit()
    print(playerLink2)
20
задан Jonas 18 June 2011 в 08:37
поделиться

8 ответов

The only one of those I've used is JSF, so I won't be able to give you feedback on the others, but here's my take on JSF. In my experience, the minute we converted from JSF in JSP to JSF in facelets, life got MUCH easier, so I'll focus around facelets. Also, It looks like Seam and JSF are not mutually exclusive.

Pros:

  • Creating facelets xhtml components is simple, which promotes re-use.
  • Decent templating abilities using built in tags like ui:insert, ui:include, and ui:decorate
  • Simple access to Spring beans through faces-config
  • XHTML based so web developers unfamiliar with java can still be effective
  • Good widget library available in tomahawk/trinidad

Cons:

  • Post requests only. This can make bookmarking difficult.
  • Not as built-in ajax-y as GWT, but this may be fixed if used with Seam

I'm by no means an expert in JSF/Facelets, so I'm sure there are others I've missed. Hopefully someone else will also elaborate.

Update for JSF 2.0:

18
ответ дан 29 November 2019 в 22:32
поделиться

Seam - это структура приложения, а не уровень представления. Первоначально он был разработан для того, чтобы сделать JSF менее болезненным, но превратился в более универсальную среду внедрения зависимостей.

Я считаю, что вы можете использовать Seam с JSF, Wicket и GWT. Поддержка JSF является первичной и превосходной; Я не уверен, насколько хорошо поддерживаются другие два.

Поскольку ваши критерии, по-видимому, ориентированы на конкурентоспособность ваших навыков, я бы предложил опробовать Seam и JSF через Facelets. JSF является общепринятым стандартом, и его действительно приятно использовать, если вы используете Facelets. Вы можете иметь отличную функциональность AJAX через Richfaces и Ajax4jsf. Шов более или менее стандартизирован через JCP.

10
ответ дан 29 November 2019 в 22:32
поделиться

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

Это поможет вам в сценарии сопровождения, который, - мы надеемся, - ваш код закончится тоже вовремя. Хорошо написанный код живет вечно :)

В этом конкретном сценарии я бы предложил JSF. Я только попробовал реализацию Apache 1.1, но было больно быть на вершине JSP. Мы должны пересмотреть это в ближайшее время - я ожидаю рассмотреть вопрос о JSF на лицевых сторонах.

3
ответ дан 29 November 2019 в 22:32
поделиться

Я довольно часто использовал Wicket и GWT. Так и не научился любить Wicket.

Мое эго писало об этом в блоге http://salk31.blogspot.com/2009/07/wicket-ajax.html

Сегодняшний взгляд на GWT 2.0 uiBinder напомнил мне, как раздражает в Wicket нужно было сопоставить дерево компонентов XML с деревом, созданным на Java. На мой взгляд, GWT выглядит намного лучше.

I '

1
ответ дан 29 November 2019 в 22:32
поделиться

JSF устарел (JSF даже не указан как фреймворк для сравнения, когда евангелисты сравнивают или говорят о веб-фреймворках в 2010 году).

Теперь полноценные крупномасштабные приложения создаются с использованием GWT, YUI, JQuery и т.д.

Почитайте несколько статей в google и все станет ясно.

(ВСЕ ДЖОБС на JSF - это поддержка старых приложений).

-10
ответ дан 29 November 2019 в 22:32
поделиться

Если вы рассматриваете только рынок труда, вам следует выбрать JSF. Но я считаю, что будущее RIA принадлежит GWT и gwt, как технологиям клиентской стороны.

Я думаю, что самый очевидный плюс GWT в том, что он лучше масштабируется, чем технологии презентационного слоя на стороне сервера, такие как JSF, wicket. Потому что, серверу не нужно хранить состояние клиента и мощность процессора клиента также используется. Это огромное преимущество, вам не нужно сериализовать состояние клиента между компьютерами сервера для достижения отказоустойчивой системы.

1
ответ дан 29 November 2019 в 22:32
поделиться

Спасибо, ребята, калитки, что остались трезвыми и продолжили обсуждение. Я пользуюсь калиткой, и мне это нравится. Мои основные причины:

  1. Это компонентная структура. Мне нравится работать с компонентами, а не с полными страницами.
  2. Я могу позволить дизайнерам работать над шаблонами и страницами, как я работаю над java-частями.

  3. Нет ничего нового для изучения. Это «просто java и только HTML»

  4. . Мне нравится его механизм резервирования ajax. Там, где в браузере нет поддержки javascript, особенно на мобильных устройствах, он возвращается к обычному HTML, и все работает.
  5. Отсутствие конфигурации xml является плюсом
  6. Он поддерживает все, что мне нужно в веб-приложении. например, проверка, интернационализация, поддержка кнопки «Назад» и спокойные URL-адреса среди прочего

Мой предыдущий опыт - GWT и JSF 1.0

15
ответ дан 29 November 2019 в 22:32
поделиться

Я использую GWT с версии 1.4 и JSF с момента выхода спецификации 2.0.

GWT — это фреймворк на стороне клиента, он генерирует JavaScript из Java. Ваша архитектура будет чисто клиент-серверной, что означает:

  • Лучше всего использовать сервисы общего назначения
  • Все объекты, которые перемещаются на сторону клиента, должны быть полностью сериализуемыми (это означает отсутствие ленивой загрузки или шаблона OpenSessionInView)
  • Начиная с GWT 2.0 вы можете спроектировать свой графический интерфейс с помощью xhtml, который намного проще в отношении стилизации и структурирования HTML
  • GWT склонен отдавать предпочтение хорошей архитектуре, если вы ее испортите, это будет плохо для рефакторинга
  • Идеальная История (кнопка «Назад» в браузере, URL-адреса с закладками) поддержка сложная, вам, вероятно, придется создавать свою собственную, хотя легко взломать что-то сразу

JSF — это фреймворк, основанный на компонентах , с дизайном, ориентированным на просмотр (код программной части, если хотите):

  • Легче создавать некоторые типы веб-приложений (с отслеживанием состояния, например корзины для покупок)
  • JSF+Seam поддерживает диалоги (например, страницы, похожие на мастера). которые поддерживают состояние на нескольких страницах)
  • Вы можете реализовать OpenSessionInView, в зависимости от вашего стека. Вероятно, это не рекомендуется, если вы используете EJB для сервисного/бизнес-уровня
  • JSF2 имеет прекрасную поддержку AJAX, а с набором компонентов, таким как RichFaces, вы можете создавать хорошие веб-приложения.
    • Но если вы хотите изысканного поведения javascript, вам придется написать какой-нибудь javascript.
  • JSF отслеживает текущее состояние пользовательского интерфейса на стороне клиента или сервера. Это компромисс между сетевым трафиком и памятью сервера.

Резюме:

  • GWT более подходит для веб-приложений (например, gmail), которым требуется наилучшая производительность на стороне клиента. Легко писать пользовательские компоненты (вы пишете Java), и, поскольку ваша серверная часть — это просто сервисный уровень, вы можете быть полностью апатридными на стороне сервера.
  • JSF больше подходит для большинства CRUD-приложений, которые лучше подходят для компонентов, ориентированных на компоненты: система бронирования отелей/авиабиотов, интернет-магазин с корзиной и т. д.
34
ответ дан 29 November 2019 в 22:32
поделиться
Другие вопросы по тегам:

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