Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #98636
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | Leonard Andrew Mesiera <leonardmesiera@gmail.com> |
| Newsgroups | comp.lang.python |
| Subject | Re: Guide in Deskop Application Development in Python for newbies |
| Date | Wed, 11 Nov 2015 20:38:02 +0800 |
| Lines | 130 |
| Message-ID | <mailman.235.1447247017.16136.python-list@python.org> (permalink) |
| References | <436bfe7e-ece3-454d-b0c7-81de0fe82acb@googlegroups.com> <563E1C95.7030609@gmail.com> <CAJ4+4aqbUbHx1vH2ypotXBd_G7LUHG2vjuGH2_Teg1rC6a1M6g@mail.gmail.com> <563EAA68.6080906@gmail.com> <CAMw+j7JLN2PNU4rsK7122WZTAiPUxTac-1fHNvymQ=4Ec3s6Nw@mail.gmail.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8 |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | news.uni-berlin.de kjYbMfERstojUORIabmI4wxJWBODTf3knzJ/euuBcVVQ== |
| Return-Path | <leonardmesiera@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.000 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'received:209.85.223': 0.03; 'yet.': 0.03; 'subject:Python': 0.05; 'json': 0.05; 'schema': 0.05; '(b)': 0.07; 'apis': 0.07; 'bootstrap': 0.07; 'framework.': 0.07; 'front-end': 0.07; 'great.': 0.07; 'thats': 0.07; 'twisted,': 0.07; 'ugly': 0.07; 'cc:addr:python-list': 0.09; '**)': 0.09; '[1]:': 0.09; '[2]:': 0.09; '[3]:': 0.09; 'components,': 0.09; 'django,': 0.09; 'html/css': 0.09; 'models.': 0.09; 'orm': 0.09; 'restful': 0.09; 'sqlite': 0.09; '\xe2\x80\x94': 0.09; 'python': 0.10; 'language,': 0.11; 'django': 0.13; 'server,': 0.15; '(django': 0.16; '(eg.': 0.16; '(postgresql': 0.16; '(read': 0.16; '(via': 0.16; '[2].': 0.16; 'alot': 0.16; 'api,': 0.16; 'apis.': 0.16; 'categories,': 0.16; 'cc:name:python': 0.16; 'choose,': 0.16; 'computes': 0.16; 'fits': 0.16; 'framework,': 0.16; 'need,': 0.16; 'qt,': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'route,': 0.16; 'start?': 0.16; 'subject:Guide': 0.16; 'templating,': 0.16; 'threading,': 0.16; 'unresponsive': 0.16; 'url:djangoproject': 0.16; 'wrappers': 0.16; 'wrote:': 0.16; 'app': 0.16; 'basically': 0.18; 'frameworks': 0.18; 'library,': 0.18; 'linux,': 0.18; '>': 0.18; 'email addr:gmail.com>': 0.18; 'gui': 0.18; 'project,': 0.18; 'python?': 0.18; 'windows': 0.20; '2015': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'suggested': 0.20; 'do.': 0.22; '(a)': 0.22; 'beauty': 0.22; 'platform,': 0.22; 'setup,': 0.22; 'voting': 0.22; 'programming': 0.22; 'code,': 0.23; '(or': 0.23; 'ease': 0.23; 'finished': 0.23; 'tried': 0.24; 'header:In-Reply-To:1': 0.24; 'requests': 0.25; 'sort': 0.25; 'testing': 0.25; '(which': 0.26; 'linux': 0.26; 'rest': 0.26; 'chris': 0.26; 'distribute': 0.27; 'least': 0.27; 'message- id:@mail.gmail.com': 0.27; 'small,': 0.27; 'developing': 0.28; 'credentials': 0.29; 'forms,': 0.29; 'windows,': 0.29; 'tutorial': 0.29; "i'm": 0.30; 'server.': 0.30; 'system,': 0.30; 'url:mailman': 0.30; 'code': 0.30; 'programmers': 0.30; 'supposed': 0.31; 'users.': 0.31; 'option': 0.31; 'especially': 0.32; 'url:python': 0.33; 'michael': 0.33; 'usually': 0.33; 'done,': 0.33; 'http': 0.33; 'lock': 0.33; 'url:listinfo': 0.34; 'structure': 0.34; 'server': 0.34; 'beautiful': 0.66; 'here': 0.66; 'talking': 0.67; 'choose': 0.68; '8bit%:21': 0.70; 'study': 0.70; 'capabilities': 0.72; 'suited': 0.72; 'special': 0.73; 'yourself': 0.73; 'catch:': 0.84; 'choices:': 0.84; 'doable': 0.84; 'judges': 0.84; 'lightweight': 0.84; 'man,': 0.84; 'ready- made': 0.84; 'route': 0.84; 'serious.': 0.84; 'suggestion,': 0.84; 'url:readthedocs': 0.84; 'votes,': 0.84; 'scores': 0.91; 'url:latest': 0.91; 'you\xe2\x80\x99re': 0.91; '***': 0.95; 'subject:Development': 0.96 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=zMGTfg+d+/se6MHhuu6q45rLZRUliGm6SObvwAmfsaA=; b=ae62GzWVd62/hIhD9X3kwWCHj+GA9HR9g5Qj07UflkKJ1MXViOzEjEEeE+6kCxhmLx Fz2ueQKJnPmKsKpcPpgh85VtvD/4k1eT0fL9LECuUH94uaYRt3tNHS8bk3JV8y31Eyt4 QaVIoAoBaScJpBdBQoX7swXUvD1aJEJVxeXqb+C284bOxpJ9Q3x6tfcMiSH1mxn77eTf kKOCch8u3khR24o93eQ0r4W43U6F5s5736yIxCKmQustec6acQbydF5Khx/VzHMQzm+1 1ljBY5tvgkuxwP2jivzvgeKuD9jN2VAHepqzp9OGXpNzo67Z6UgzzyjRCtZPI47Tmgzy +Ifw== |
| X-Received | by 10.107.3.227 with SMTP id e96mr8938533ioi.30.1447245482563; Wed, 11 Nov 2015 04:38:02 -0800 (PST) |
| In-Reply-To | <CAMw+j7JLN2PNU4rsK7122WZTAiPUxTac-1fHNvymQ=4Ec3s6Nw@mail.gmail.com> |
| X-Mailman-Approved-At | Wed, 11 Nov 2015 08:03:36 -0500 |
| X-Content-Filtered-By | Mailman/MimeDel 2.1.20+ |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.20+ |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Xref | csiph.com comp.lang.python:98636 |
Show key headers only | View raw
Thank you sir @Chris Warrick for your great suggestion, even though I really got overwhelmed by the things that I need to study to get this project done. I'm really new to programming so I havent heard or even tried DJANGO, but on your suggestion, if thats what I need to get my project done, that would I do. It would really take alot of time for me to finish this project, but thank you man, I really appreciate your help On Sun, Nov 8, 2015 at 5:22 PM, Chris Warrick <kwpolska@gmail.com> wrote: > On 7 November 2015 at 15:44, <leonardmesiera@gmail.com> wrote: > > How do you start building a desktop application in python? I mean where > do I start? Besides installing python on your windows what else do I need, > and any suggestion on how do I accomplish this project. > > > > Right now I really want to finish this beauty pageant judging system > which requires to have a client and a server, client would be for the > judges and a server that computes the scores from all the categories, (i do > hope you get I want mean by that project). I just finished reading > Headfirst Python and I really loving this language, so any help from all > the great programmers here would be so great. > > -- > > https://mail.python.org/mailman/listinfo/python-list > > This project requires two very different components, or one monolithic > server. > > The first one is the server. It basically needs to talk to clients > (via HTTP) and to a database. This is a trivial app to write in your > favorite web framework, eg. Django [0]. Come up with a good database > structure (read the excellent tutorial and documentation, should get > you there), write some models. But you can’t write your views just > yet. Because the views you write depend strictly on the client. > > For the client, you basically have two choices: > (a) write a web application in Django; > (b) use a GUI framework and make a standalone desktop application. > > If you choose option (a), you need to learn HTML/CSS and write the > views for your Django application (or use a ready-made front-end > framework, eg. Bootstrap [1]). This is the simplest choice, and it > takes a lot of work away from you. Your users will use their favorite > web browser to access the voting system, log in, and make their votes, > and there is no special setup for them (apart from giving them > credentials to access your app). Your Django views will use the > built-in Django templating, forms, and is relatively simple to do > (might even be doable in a weekend). > > Route (b) is much more complicated. To follow this route, you need to > pick a GUI framework. There are also multiple options, I personally > recommend PySide, but you could also try wxWidgets, pygobject or kivy. > The web app side of things will require serializing data to JSON and > writing a RESTful API, but there are ready-made solutions for many web > frameworks [2]. > But most of those come with a catch: they usually make you produce > ugly code, because they are wrappers around ugly C++ APIs. And then > you need to write code to talk to your HTTP server. You can’t use the > beautiful requests library, because it will block — so there’s more > work ahead, unless you want your app to be unresponsive every time you > talk to the server. For example, in Qt, you would need to use Qt > networking capabilities (which work asynchronously within the event > loop), or some other implementation that you can use asynchronously > (eg. Twisted, but then you lock yourself to Python 2, which is bad, or > threading, which has its limitations…) > And then you need to distribute your app to your users. Which is > already hard, because you need to coordinate Python, your GUI > framework, and your app. Are your users on Windows, Linux, or OS X? If > you have at least one person on a platform, you will need some sort of > testing environment… > > And no matter which route you choose, you can’t do much without a > Linux server, so there’s more learning to do. > > Sadly, developing big things is hard and requires a lot of knowledge — > especially if you’re a one-man-band. > Here’s a short list of skills you need, with a subjectively suggested > implementation and ease of implementation: > > * understanding of the HTTP protocol (*) > * web application development (Django *) > * database schema writing (planning out the structure + Django ORM **) > * app server setup (uWSGI + nginx + Linux ***) > * database setup (PostgreSQL *** or something simpler[3]) > * Route A: > * HTML/CSS skills; a front-end framework (Bootstrap **) > * Route B: > * RESTful APIs (Django REST Framework ***/***** if you use OAuth) > * GUI framework (PyQt ****) > * talking to your server from within the framework (****/*****) > > [0]: https://www.djangoproject.com/ > [1]: http://getbootstrap.com/ > [2]: http://www.django-rest-framework.org/ > [3]: If this is going to be VERY small, you could go with a sqlite > database, which requires zero setup, but which is not suited for > anything more serious. > > Other learning materials: > > > https://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html > http://www.fullstackpython.com/ > http://deploypython.com/ > > On 8 November 2015 at 02:50, Michael Torrie <torriem@gmail.com> wrote: > > On 11/07/2015 12:15 PM, paul.hermeneutic@gmail.com wrote: > >> Where would you say that web2py <http://www.web2py.com/> fits into > this mix > >> of tools? > > > > I am not familiar with it but I know it's supposed to be a lightweight > > framework for developing web-based sites and applications. Could be an > > excellent tool for the OP to use to build his user interface. > > > > -- > > https://mail.python.org/mailman/listinfo/python-list > > web2py is weird, Django is more fun. > > -- > Chris Warrick <https://chriswarrick.com/> > PGP: 5EAAEA16 >
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Guide in Deskop Application Development in Python for newbies leonardmesiera@gmail.com - 2015-11-07 06:44 -0800 Re: Guide in Deskop Application Development in Python for newbies Michael Torrie <torriem@gmail.com> - 2015-11-07 08:45 -0700 Re: Guide in Deskop Application Development in Python for newbies Michael Torrie <torriem@gmail.com> - 2015-11-07 18:50 -0700 Re: Guide in Deskop Application Development in Python for newbies Chris Warrick <kwpolska@gmail.com> - 2015-11-08 10:22 +0100 Re: Guide in Deskop Application Development in Python for newbies Leonard Andrew Mesiera <leonardmesiera@gmail.com> - 2015-11-11 20:38 +0800 Re: Guide in Deskop Application Development in Python for newbies Leonard Andrew Mesiera <leonardmesiera@gmail.com> - 2015-11-11 20:39 +0800
csiph-web