Hi Mariusz,

It depends how many sharp edges you're willing to live with. I've been
working on a project to allow users to develop native mobile apps in Python:

http://pybee.org/toga/

It's *very* early stage though - nothing close to production ready. There
isn't even really a tutorial for mobile development.

I hesitate mentioning it at all, other than to point out that it is
*possible*, and I'm looking into the space at the moment.

Yours,
Russ Magee %-)

On Fri, Dec 5, 2014 at 10:03 PM, Mariusz Wilk <szostakow...@wp.pl> wrote:

> Thanks for your advice!
> PhoneGap uses JS, HTML and CSS. Is there any way I could do this in Python
> or would it be unneccessarily complicated since maybe there's no
> PhoneGap-type-of-framework for Python?
>
>
> W dniu środa, 3 grudnia 2014 00:56:17 UTC użytkownik Cal Leeming napisał:
>>
>> Hi Mariusz,
>>
>> Short answer - Hack something together in the fastest way possible, don't
>> worry about it being clean, tidy or even tested. Because if you do, you'll
>> still be working on this project in 2 years time... Look at using something
>> like PhoneGap [8], just enjoy the experience and ship it :)
>>
>> If you genuinely want to start learning this stuff, you need to ask
>> yourself what it is you want to work on? Do you want to do backend (e.g.
>> all the server stuff, nothing visual), or do you want to do frontend (all
>> the visual/pretty stuff the user sees), or both? Are you doing this for
>> immediate financial gain [7], or a spiritual journey of self discovery and
>> learning [6]? The world of web dev is changing almost every couple of
>> months, stay on top of your game by reading blog articles from other
>> developers and keeping on top of tech new. Personally I use Feedly [9] to
>> aggregate these feeds into one place. Consider getting an internship
>> somewhere with other good programmers, learning from inspirational people
>> will speed up your personal development massively (I wish someone had told
>> me this 8 years ago).
>>
>> Long answer;
>>
>> Responsive/adaptive design does not necessarily make a good mobile
>> experience, and rarely will you find a mobile app which has the same
>> workflow as the website. Ideally you need to storyboard each experience and
>> wireframe the UX accordingly. Likewise with the UI, colors and sizes which
>> work well on desktop often won't work very well on mobile/tablet
>> (especially if you are designing your desktop site mostly towards PC users,
>> due to the variations in color display).
>>
>> There are tools out there now which allow you to package up your
>> HTML/JS/CSS/images into a native application bundle, meaning you don't have
>> to learn how to write native applications. There are a whole bunch of these
>> products out there [1], but most of them suck, here's why. Building a
>> client side JS application is *hard*, you have to understand the different
>> JS design patterns in order to write clean and stable code, whilst
>> understanding the importance of unit testing [3] and real browser testing
>> [4]. You also have to understand the impact of latency, if you don't
>> compile your assets into a local bundle (instead opting to just wrap a
>> browser window in an IOS app), then your app experience will lag between
>> clicks (because each click is a page load). To get around this you need to
>> build your client side app to be completely independent of the server side,
>> which includes maintaining a view state (e.g. changing/rendering the
>> display upon changes being made). Other libraries exist for doing this such
>> as Ember [5] and others, but they are still quite alpha and have
>> performance concerns too. Also in regards to bundling, there are very few
>> tools out there which will automate this entire process, for example
>> creating a spritesheet of UI images so you don't have to make multiple HTTP
>> asset requests, or embedding the images as base64 in your stylesheet
>> (although that has render performance concerns).
>>
>> Then you also have the API, building a clean RESTful api is difficult and
>> in actual fact may be the wrong approach for your mobile app.. why? Because
>> each API call has a lot of overhead, and this usually results in UI latency
>> if the user has poor signal. There is some work being done to use
>> websockets instead of ajax calls, but this starts to get into quite deep
>> territory.
>>
>> Gonna cut this short, as I try to limit myself to 30 minutes on any given
>> reply. Again don't worry too much about what I've put in the long answer,
>> that's just there to give you some insight into the things you'll start
>> thinking about as you get deeper into your journey.
>>
>> Hope this helps dude
>>
>> Cal
>>
>> [1] Google search for "app maker iphone"
>> [2] http://addyosmani.com/resources/essentialjsdesignpatterns/book/
>> [3] http://qunitjs.com/
>> [4] http://www.seleniumhq.org/
>> [5] http://emberjs.com/
>> [6] http://www.amazon.co.uk/The-Clean-Coder-Professional-
>> Programmers/dp/0137081073
>> [7] http://techcrunch.com/2012/03/25/dont-just-ship-it/
>> [8] http://phonegap.com/
>> [9] http://feedly.com/
>>
>>
>>
>> On Fri, Nov 21, 2014 at 2:56 PM, Mariusz Wilk <szosta...@wp.pl> wrote:
>>
>>> I'm new to programming. Eventually, I'd like to make a website and an
>>> android/ios app that would work together and display pretty much the same
>>> content on a mobile as on the the web. Each client would log in (via mobile
>>> or desktop) and continue solving some exercises from the place he
>>> previously finished at. I have a potential client for this app, I don't
>>> have any deadline and if it works fine I shouldn't have any problems
>>> selling it to him and getting some commercial experience! So my question
>>> is: *what should I be learning to eventually reach this goal?* I've
>>> done a few Python tutorials/courses online, I played around with HTML, CSS
>>> and JS, right now I'm learning Kivy. Django scared me a lot, but maybe I
>>> should give it another try.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to django-users...@googlegroups.com.
>>> To post to this group, send email to django...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/django-users.
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/django-users/18d268ec-e509-4d39-8d9d-ac74204123f4%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-users/18d268ec-e509-4d39-8d9d-ac74204123f4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/b97eb0d7-a2f9-4368-8126-fb606225bd8e%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/b97eb0d7-a2f9-4368-8126-fb606225bd8e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAJxq84-r3K5H_wN%2BTs2OSxdmQwC%3DBhhY4Mg%3DsDGguNdd0EZYTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to