Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #98637

Re: Guide in Deskop Application Development in Python for newbies

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:39:40 +0800
Lines 147
Message-ID <mailman.236.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> <CAJL51tJ_1bpdOXsYDpahnzDD5vd6RMc4ME5Hob+TE9nrNZmMSw@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 vAYneBMnYOkP36OHh4CQkwdu+E+WcZsuo4z/E8+dqHRQ==
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; 'wed,': 0.15; '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; '&gt;': 0.18; 'email addr:gmail.com&gt;': 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; 'andrew': 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; '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=Vgp99/HlyusZqpAVQWOzlF/woyGwGzT414qSCMXjdkg=; b=xJiFnPqZn4yf1Qc3o8qwFyjPrjJAeMQtXjK3Wynu2LcwkCji2gWxnF+AqeeNacTzwE zZAFA1nplB2WLhoSGbzFFUrWgKEj37dckWiZwiMcx2Ec0DMI1MuG/e9puiyvYDpvcoTc JFW+0qj4UG5KbDS1pWubT1A/hxfo/wPVZOupNwBJOSr0kkngQp9hSO6J4Zql4OuPn5/d EaN6E4C1Ru1FCxhmGTEM8lYqRCJEKEntnBdI6lIbKILpj98fOd7V/0Py9YFv3YO2hI4s 5gU+07iy4zROZxIftY6cnmHnwSsj2vrP7l/Tg+JmNRDpYzVvWCHSJLTdzNzG5WBy9Sy2 ntZg==
X-Received by 10.107.3.227 with SMTP id e96mr8944116ioi.30.1447245580151; Wed, 11 Nov 2015 04:39:40 -0800 (PST)
In-Reply-To <CAJL51tJ_1bpdOXsYDpahnzDD5vd6RMc4ME5Hob+TE9nrNZmMSw@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:98637

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 Wed, Nov 11, 2015 at 8:38 PM, Leonard Andrew Mesiera <
leonardmesiera@gmail.com> wrote:

> 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 | NextPrevious in thread | Find similar | Unroll thread


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