Кто-либо там использующий web2py? [закрытый]

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

63
задан Christopher Mahan 21 February 2010 в 09:04
поделиться

12 ответов

Я не использую web2py. Но я взглянул на исходный код, и это ужасно по такому количеству причин. Для одного определения базы данных, а также представления и модели и я не знаем то, что, оценены против глобального словаря значений. Похоже на PHP в том отношении (это обходит семантику Python в поведении имени), и очень неэффективно, и я мог предположить, что трудно поддержать.

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

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

5
ответ дан Armin Ronacher 24 November 2019 в 16:03
поделиться

Добро пожаловать задавать тот же вопрос на группа Google. Вы найдете больше чем 500 пользователей там, и некоторые из них являются строительными проектами строительных компаний для их клиентов.

Мое впечатление - то, что большинство из них использует postgresql (это - то, что я делаю к), и некоторые другие используют Google App Engine. На самом деле web2py является единственной платформой, которая позволяет Вам писать код однажды, и тот же код будет работать на GAE, SQLite, MySQL, PostgreSQL, Oracle, MSSQL и FireBird (с ограничениями, наложенными GAE).

можно найти Красноватый (reddit клон) устройством с исходным кодом для GAE здесь

Здесь , можно найти ссылки на некоторое производственное приложение. Некоторые работают на GAE.

@Armin:

Ничто не неправильно с Django или Опорами. Они - превосходные платформы. Я использовал их прежде, чем разработать web2py. Существует несколько вещей, которые можно сделать с web2py, что Вы не можете с ними. Например:

  • web2py делает распределенные транзакции с Postgresql, Armin запросил эту функцию.
  • Django ORM не делает миграций исходно (см. Юг ), web2py делает.
  • Django ORM не позволяет частичные суммы (количество (поле)), и группа, web2py делает.
  • web2py может соединиться с несколькими базами данных сразу, <забастовка> Django и , Опоры должны быть взломаны, чтобы сделать это, и
  • , web2py имеет конфигурационный файл в приложении, не на уровне проекта, как они.
  • webp2y регистрирует всю tracebacks сторону сервера для администратора, Django и Опоры не делают.
  • web2py программы, на которых часто работают неизмененный GAE.
  • web2py имеет встроенные xmlrpc веб-сервисы.
  • web2py идет с jQuery.

существует много вещей, что web2py добивается большего успеха (использование более когерентного API) и быстрее (обрабатывающий шаблоны и генерирующий SQL, например). web2py также очень компактен (все модули помещаются в 265K байты), и поэтому намного легче поддержать, чем те конкурирующие проекты.

только необходимо изучить Python и 81 новую функцию/класс (50 из которых имеют те же имена и атрибуты, как соответствующие HTML-тэги, BR, DIV, SPAN, и т.д. и 19 являются блоками проверки допустимости, IS_IN_SET, IS_INT_IN_RANGE, и т.д.).

Так или иначе, самая важная проблема - то, что web2py легче, чем Django, Опоры, PHP и направляющие.

Вы также заметите, что web2py размещается и на Google Code и Launchpad и нет открытых билетов. Все прошлые вопросы были решены меньше чем за 24 часа.

можно также проверить список рассылки Google, что все потоки (10 056 сообщений сегодня) закончились с ответом от меня или одного из других разработчиков в течение 24 часов.

можно найти книгу по web2py на Amazon.

Armin, я знаю, что Вы - разработчик Джинджи. Я люблю Джинджу, но имею различные принципы проектирования. И Django и Джинджа определяют их собственные шаблонные языки (и Джинджа в особенности имеет превосходную документацию), но я действительно предпочитаю использовать чистый Python в шаблонах так, чтобы мои пользователи не делали никакой потребности выучить шаблонный язык вообще. Я хорошо знаю о за и против каждого подхода. Позвольте нам, пользователи решают то, что они предпочитают. Никакая потребность подвергнуть критике друг друга.

@Andre: db.table.field относится к объекту поля. 'table.field' является именем поля. Можно всегда передавать объект поля, когда имя поля требуется, потому что str (db.table.field) является 'table.field'. Единственный случай Вы обязаны использовать строку вместо объекта, - когда необходимо сослаться по имени на поле, которое не было уже определено..., возможно, мы должны переместить это обсуждение в надлежащее место.;-)

я надеюсь, что Вы решите дать web2py попытку и, нравится ли Вам это или нет, я хотел бы услышать Ваше мнение.

105
ответ дан Somantra 24 November 2019 в 16:03
поделиться

Я начинаю использовать его с Postgresql. Но далеко производство... Я также играл с Zope V2 и Ruby on Rails и действительно люблю подход web2py.

6
ответ дан sparklewhiskers 24 November 2019 в 16:03
поделиться

Существуют некоторые пользователи, перечисленные здесь: http://mdp.cti.depaul.edu/who .

6
ответ дан benefactual 24 November 2019 в 16:03
поделиться

Я оцениваю веб-платформы в течение долгого времени теперь. Я записал свое собственное (не открытый) платформы в Perl и в PHP. Ну, PHP имеет встроенный тупик, и целая инфраструктура все еще довольно плоха, но я не хотел возвращаться к Perl, таким образом, я проверил Python и веб-Платформы Python как Django, Turbogears, Опора и web2py. Существует много вещей думать о, если Вы хотите выбрать codestack, который не является Вашим собственным, и Вы будете часто царапать голову, потому что нет все еще никакого "правильного пути" к вещам программы. Однако web2py является моим текущим фаворитом, потому что автор, несмотря на то, чтобы быть "настоящим программистом", сохраняет вещи легкими! Только посмотрите на сравнение на web2py сайте - я задавался вопросом, почему платформы Python как django или turbogears должны были представить такое дублирование и усложнили синтаксис в их коде - web2py шоу, что на самом деле возможно содержать Ваш синтаксис в чистоте и легкий!

@Armin: Вы могли определить Вас критика? Где точно Вы видите, что web2py "обходит семантику Python"? Я не могу понять, что Вы имеете в виду. Я должен признать, что я не то, что глубоко в Python прямо сейчас, но я не вижу проблемы с кодом web2py - на самом деле, я думаю, что это является блестящим и одна из лучших платформ, доступных сегодня.

11
ответ дан Snaky Love 24 November 2019 в 16:03
поделиться

Я начал использовать web2py о 6-месячном назад. Я выбираю его, потому что я хотел переместиться от PHP до Python, иметь более объектно-ориентированный approch из-за функций языка Python.

единый подход web2py действительно удивителен и делает запуск очень быстро.

Как бывший пользователь симфонии я скоро запустил мисс Components и Forms, которые не зависимы от структуры таблицы.

Только с простой формой регистрации, я не мог найти способ сделать DRY Формы. Для меня настоящий педераст был проверкой формы. Я забыл детали, но я закончил с наличием проверки формы в формах самой. Поскольку некоторая вещь просто еще не работала.

Также понятие именования капитализированных слов с той партией повторных символов является просто не моей вещью.

dba.users.name.requires=IS_NOT_EMPTY()
dba.users.email.requires=[IS_EMAIL(), IS_NOT_IN_DB(dba,'users.email')]
dba.dogs.owner_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.dogs.name.requires=IS_NOT_EMPTY()
dba.dogs.type.requires=IS_IN_SET(['small','medium','large'])
dba.purchases.buyer_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.purchases.product_id.requires=IS_IN_DB(dba,'products.id','products.name')
dba.purchases.quantity.requires=IS_INT_IN_RANGE(0,10)

Иногда имена должны быть в кавычках, иногда не... и если я посмотрел на примеры или сайты, уже сделанные с web2py, я действительно не видел что большой шаг вперед от использования php.

я рекомендую Вам: Посмотрите, если web2py работает на Вас. Это было бы хорошо, потому что сообщество и особенно massimo (создатель) очень полезно и хорошо.

Также у Вас есть намного более быстрый запуск, чем с django, более легким развертыванием и меньшим количеством стычки при изменении моделей базы данных.

13
ответ дан Andre Bossard 24 November 2019 в 16:03
поделиться

На самом деле это использует MySQL, но это могло переключиться на postgresql в уведомлении моментов, поскольку web2py так разнообразен:)

4
ответ дан 24 November 2019 в 16:03
поделиться

Я голосую за Web2py. У меня есть время только на разработку небольших, но полезных вещей для себя.

Надеюсь, в следующем месяце у меня будет возможность создать приложение, идеально подходящее для Web2py и работающее на движке приложений Google.

Web2py = глоток свежего воздуха!

6
ответ дан 24 November 2019 в 16:03
поделиться

Я использую web2py для небольшого веб-приложения. Он запускает HIT в проекте Mechanical Turk и дает мне интерфейс для их управления и визуализации. Я начал с Google App Engine, но потом мне надоели небольшие неприятности, связанные с отсутствием прямого доступа к базе данных и бесконечным ожиданием каждый раз, когда я хочу загрузить свой код, и перешел на локальный сервер с postgres. GAE усложняет большинство задач, чтобы упростить некоторые задачи по масштабированию ... держитесь подальше от этого, если вам действительно не нужна их помощь по масштабированию.

Мне очень нравится web2py. По сравнению с Django и Ruby on Rails, его НАМНОГО проще в освоении и освоении. Все просто. Вы справляетесь быстро. Массимо везде решает ваши проблемы (даже на этой доске, ха-ха).

15
ответ дан 24 November 2019 в 16:03
поделиться

Я использую web2py в производстве с postgres в webfaction, а также в GAE.

3
ответ дан 24 November 2019 в 16:03
поделиться

Я уже некоторое время занимаюсь оценкой веб-фреймворков. Я предпочитаю web2py, потому что он простой, компактный, но мощный.

4
ответ дан 24 November 2019 в 16:03
поделиться

Мне это нравится, потому что это так крошечно, что я могу легко распространять с моим приложением.

4
ответ дан 24 November 2019 в 16:03
поделиться
Другие вопросы по тегам:

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