2009-09-07 2 views
2

Я пытаюсь изучить язык кросс-платформенного языка с быстрой кривой обучения, и поэтому казалось, что Python был логичным выбором. Я никогда не программировал раньше, но я довольно долго читал о прагматичном программировании и гибкой разработке. Возникает вопрос: «Каков наилучший выбор для создания настольного программного обеспечения, которое построено в значительной степени на питоне и может справляться с гибкостью SQL-инъекций, а также с богатым интерфейсом?» например SQL Алхимия, ReportLabs.Разработка Agile Software в Python

Я искал pyHed, найденный в sourceforge.net. Тем не менее, он находится на ранней стадии разработки и до сих пор плохо документирован. Я проверил Titanium Desktop от Appcelerator, и концепция кажется захватывающей, но пока она не в стабильном состоянии.

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

ответ

3

Для кросс-платформенных GUI на базе настольного программного обеспечения, мое предпочтение Qt - твердый, зрелый, богатый , отличные инструменты, сильный основанный на событиях подход (сигналы и слоты). Конечно, Nokia за ней не болит.

Зрелый интерфейс Python к тому, что является PyQt, но если альтернатива GPL или платите лицензии, является для вас проблемой, PySide на горизонте (нигде в зрелом, как PyQt в это время, но к тому времени GPL Возможно, ваше программное обеспечение может быть проблемой, PySide должен быть определенно готов для вас ;-). PySide также спонсируется Nokia, согласно this.

Помимо вашего выбора фреймворков для разработки кросс-платформенных настольных приложений на основе графического интерфейса, конечно же, есть много и много других инструментов и подходов - но они менее важны для сольного развития, чем для эффективной команды сотрудничество, поэтому, пока работа в команде не будет перспективной для вас, не будет больно использовать любые инструменты, которые вы найдете наиболее простыми (например, SVN, а не DVCS: я настоятельно рекомендую DVCS, такие как hg, git или bazaar для использования в команде, но для сольного разработчика, я думаю, svn все еще вполне приемлем и, возможно, проще установить и использовать).

+0

Я знаю PyQt несколько популярны, но это право для кого-то, кто «никогда не запрограммирован раньше»? В прошлый раз, когда я использовал его, вам пришлось передавать сигнатуры методов C++ как строки для подключения обработчика событий, и у него был свой собственный тип строки (даже в Python). Похоже, он уже учится программированию, Python, GUI и RDBMSs - я бы не рекомендовал, чтобы он прикасался к C++ даже с 10-футовым полюсом. – Alec

2

Есть много ответов на ваш вопрос, потому что вы поднимаете ряд вопросов:

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

У вас есть существующая база кода Python? Если у вас есть существующая база кода Python, вы можете получить относительно большое расстояние с pyHed. В противном случае вы можете посмотреть что-то вроде Java Swing или C#.

Но действительно, вы можете подумать о переносе приложения на веб-платформу - это, по-видимому, направление, куда направляются почти все настольные приложения. Django - хорошо известная структура Python. Или любое количество платформ Java, C#, Ruby, если оно поражает ваше воображение.

jquery JavaScript framework - хороший инструмент для обеспечения богатых веб-интерфейсов.

0

Возможно, вы захотите заказать http://dabodev.com/, у меня нет личного опыта с ним, просто знаю о его существовании и о том, что есть пара энтузиастов.

Я бы порекомендовал вам не слишком много концентрироваться на кодировании Agile или XP, особенно когда вы начинаете, старый добрый дизайн спереди спасет вашу кожу, прежде чем сжечь ее без взлома.

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

Но самый важный совет, который я хотел бы дать вам, держать себя мотивированным и счастливым :-)

0

Я один из разработчиков pyHed. Мы знаем, что документация pyHed еще не очень хорошая, но мы очень много работаем над ней (это основной поток версии 1.1). Имея какое-либо сомнение по поводу pyHed пожалуйста, свяжитесь с нами в нашем forum, ваш вопрос будет дан ответ imediately ...

Виниций Berni - pyHed Team

1

За что стоит, на прошлой неделе без предыдущего опыта в самом питоне. . Мне удалось построить базовое приложение MVC примерно 4 дней .. Я использовал WxPython & wxglade

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

http://www.wxpython.org/

2

вы могли бы взглянуть на основы Camelot http://www.conceptive.be/projects/camelot/

Это обеспечивает PyQt графический интерфейс поверх SQLAlchemy сопоставляются классов. Если у вас есть вопросы, вы всегда можете отправить в наш список рассылки.

Эрик

Смежные вопросы