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


Groups > comp.lang.python > #98636

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: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; '&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; '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 | NextPrevious in thread | Next 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