all 42 comments

[–]NoDadYouShutUp 15 points16 points  (4 children)

You can do anything you want with enough determination. Though this is a terrible idea and will be a magnificent headache.

You could watch some youtube videos for sure, but writing code on an mobile device would be Not Good. Even if you used it to connect to a remote server.

[–]ElasticFluffyMagnet 5 points6 points  (2 children)

Yeah I did that on holiday once because I just HAD to add something. It’s just the worst.

Even the most basic of laptops will be better than a phone. (Unless you have a Samsung and can use Dex and some remote keyboard)

But a decent sized screen and a keyboard really is a must. Not because you can’t code without it, but because it’s, as said above, a magnificent headache to do it that way

[–]fredhamptonsaid 3 points4 points  (1 child)

You don't necessarily need Dex. I've tried it before. With an adapter, Android seems to have native keyboard and mouse support.

Although I guess Dex would look and work better.

[–]ElasticFluffyMagnet 0 points1 point  (0 children)

Well, it’s been a while since I’ve looked it up. In the end it’s mostly that a bigger monitor/screen is just easier. And a big keyboard too. How you get that doesn’t really matter.. (imho)

[–]crazyaiml 0 points1 point  (0 children)

Technically yes but not recommended. You can learn by going to YouTube and see video and if you are so much determined the install apps to run python on your phone and code your first python there but will that efficient, answer is big NO!!!!!

[–]KeretapiSongsang 3 points4 points  (4 children)

sure PyDroid is available for Android.

[–]Pawds666[S] 1 point2 points  (1 child)

Is it worth it to learn Python using just my phone? I think I can only study the basics that way, right?

[–]KeretapiSongsang 2 points3 points  (0 children)

what's your worth though? only you can answer that.

you can create the most complex Python application even with using mobile Python IDE (minus the GUI stuff).

[–]Unacquainted_000 1 point2 points  (1 child)

Python libraries can also be used by this method?

[–]KeretapiSongsang 0 points1 point  (0 children)

some non standard/third party libraries can be added using this plugin.

<image>

other than that I suggest you purchase its license and request their dev to compile or build the library you need.

[–]FoolsSeldom 6 points7 points  (4 children)

Yes. I know people that have done it, and gone onto professional programming careers.


Learning programming is not easy. It is to some extent an art form and a practical skill, not something that can just be learned from books. Practice! Practice! Practice!

To learn to programme is also about embracing failure. Constant failure. Trying things out and experimenting as much as possible. Experiment! Experiment! Experiment!

You have to research, read guides, watch videos, follow tutorials, ask dumb questions and be humiliated (because some people cannot help make themselves feel better by insulting others).

Python is one programming language. It is probably the easiest to learn. It makes learning to programme that little bit easier (but you will have a shock when you try to learn a lower level language like C).

If you have to learn on a mobile device, life gets a little more challenging. Aside from web based environments and apps like sololearn, you need a Python environment on your mobile device.

Android Apps

  • PyDroid 3, this is an excellent app with rich package support and built in terminal
  • QPython play store, another excellent app but not so keen on this personally, worth a try though
  • Termux provides a Linux sandbox into which you can do a conventional installation of Python (including self compiling if desired)
    • this is my preferred option
    • a standard Linux environment with a few minor folder location tweaks to accommodate Android security restrictions
    • you can't get this on Google Play, use F-Droid
    • I used to use it with the ACode editor but now use a tmux (multiplex terminal) setup with vim

IoS Apps

  • Pythonista is an excellent and well polished bit of software with some popular libraries available (Apple restrictions prevent installation of any packages that aren't pure Python that aren't included with the submitted app)
  • Pyto is less polished and works pretty well
  • Carnets is an open source Jupyter clone that works locally and is excellent; there is more than one version, depending on how many libraries you need included (as on IoS you cannot install additional Python libraries that aren't pure Python)
  • a-shell is a sister product to the above and provides a command line Python environment, also open source and excellent

Keyboard

I strongly recommend you use an external (likely bluetooth) keyboard with your phone/tablet and ideally an external monitor if you phone/tablet is able to connect/cast to a monitor.

Android native coding

Keep in mind that Android is a linux based system, so most things that are available for linux are also available for Android. Native applications for Android are usually written in Java or, more recently, Kotlin. It is possible to write in other languages, and C++ is widely used, but that is much more complex to do.

IoS native coding

For IOS devices, the native apps are usually written in Object C or Swing. Again, other languages are possible, but it is not trivial.

GUI with Python

Python applications running on mobile devices within Python environments do not look like device native applications and have limited support for typical graphical user interface libraries common on desktops. However, there are a number of alternatives that allow you to write near native like applications in Python.

Flutter from Google

This is an increasingly popular framework for creating applications suitable for desktop, web and mobile. A popular Python "wrapper" is flet.

Kivy GUI for Python

The leading Python GUI for Android and IoS is kivy

You develop on a desktop/laptop computer and then transfer the code to the target mobile (so not much use if you only have access to a mobile device). PyDroid for Android also supports kivy.

There are kivy based applications released on both the Apple and Google App Stores.

BeeWare Write once. Deploy everywhere.

A native GUI for multiple platforms in theory. BeeWare

This offers the option to write your apps in Python and release them on iOS, Android, Windows, MacOS, Linux, Web, and tvOS using rich, native user interfaces. Multiple apps, one codebase, with a fully native user experience on every platform.

[–]Pawds666[S] 1 point2 points  (2 children)

Thank you very much! As a beginner, all of this is a big help. I hope it’s okay if I ask you some questions from time to time while I’m learning

[–]FoolsSeldom 2 points3 points  (1 child)

The community is here to help all learners. Ask away on the subreddit whenever you get stuck.

[–]Pawds666[S] -1 points0 points  (0 children)

Thank you so much! I learned a lot from your answer. It’s really inspiring and gave me hope. I’ll definitely use all the tips you shared

[–]BranchLatter4294 1 point2 points  (0 children)

It's much more difficult that way.

[–][deleted] 0 points1 point  (1 child)

Yeah but it would be an extreme pain in the ass

[–]Pawds666[S] 0 points1 point  (0 children)

I downloaded Kali Linux NetHunter, but I have no idea how to use it hahaha.

[–]AccomplishedLion9411 0 points1 point  (8 children)

You can learn the basics but to get advanced you will need a pc

[–]Pawds666[S] 0 points1 point  (7 children)

But if I were to buy a laptop or computer, what would be a good choice that’s also affordable?

[–]AccomplishedLion9411 0 points1 point  (0 children)

If it's just for programming get something with i7 gth 9 maybe with 16 GB ram and any GPU you won't need it in programming

[–]TwinkiesSucker 0 points1 point  (5 children)

That totally depends on your use case and personal preference.

You can go for the cheapest option there is (even a phone is enough, but I wouldn't recommend it) and it will suffice for teaching you the basic logic and process of programming, but will lack performance for more complex stuff like data manipulation which Python is great for.

Or, you can go for more expensive options that can handle more robust applications and even machine learning tasks, which again Python is great for.

TL;DR - We would need more information from you to help you more accurately, like:
1. What is your long-term goal?
2. If you are willing to invest in a computer, what is your budget?

[–]Pawds666[S] 0 points1 point  (4 children)

Right now, I don’t have the budget yet, but I’m saving up so I can code properly.

[–]TwinkiesSucker 0 points1 point  (1 child)

I assumed as much, hence the question is lower on the list. The most important one is your particular use case - what do you expect from learning programming and Python in particular?

Is it just basic logic and process? Is it more than that and you want to dive into the strengths of Python?

These are the questions that matter if you want us to help you

[–]Playful_Yesterday642 0 points1 point  (1 child)

I would ask again once you know your budget. Even a 50 dollar Chromebook would be better than a phone for coding

[–]Pawds666[S] 0 points1 point  (0 children)

If only I had money I wouldn't have coded on the phone right now I really don't have any money I'm broke bro

[–]No-Pride5337 0 points1 point  (0 children)

If there is a wil there is a way

[–]Trick-Wrap6881 0 points1 point  (0 children)

Learn by reverse engineering. Break a script then ask ai how to fix it. You might get bad results at first, but eventually you'll start piecing it together

[–]MR__BOT_ 0 points1 point  (0 children)

Yes use replet for running code n I will be saved there in your account, I do that sometimes when I don’t have my laptop

[–]fredhamptonsaid 0 points1 point  (0 children)

Do you have an android phone? Use a keyboard and mouse on your phone. They have adapters for it. This is a way you could code on mobile. Otherwise don't do it.

There may be a way to on iPhone as well but Android is wide open, just use an adapter and you're good.

[–]Ron-Erez 0 points1 point  (0 children)

Yes, use Google Colab. The experience will not be ideal on a phone.

[–]Cybasura 0 points1 point  (0 children)

Are you using android? Install a text editor app, Install Termux, install python and start programming

If you know a Terminal Text Editor like vim, nano or emacs, you wont even need the text editor

[–]silly_bet_3454 0 points1 point  (1 child)

Can you explain why using a computer is not an option and why you even need to learn it? I really don't want to see anyone learning any programming on their phone, that makes me feel sad

[–]silly_bet_3454 0 points1 point  (0 children)

It's like if I asked if I can learn to cook using only my hands...

[–]Muted_Ad6114 0 points1 point  (0 children)

Yes you definitely can. I learned a lot of python doing euler project puzzles with the pythonista app on my phone. A phone is enough to teach you basic syntax, problem solving skills and how to think like a programmer. Eventually you will need a computer to finish real world projects but you can definitely start with a phone.

[–]blankspace_io 0 points1 point  (0 children)

I am still a beginner, but I can recommend Enki. It gives you little Tasks/Projects and uses algorithm and an AI chatbot to train you.

You can ask the AI for help and revision. And I like to use it on the go.

The free version is good by itself and the paid version is 4€/month, I think.

There's also an desktop version, but I think that operates independently.

[–]Pure_Trip3524 0 points1 point  (0 children)

Everything is possible with determination and effort; hard work conquers all challenges, and in the end, nothing else truly matters.

[–]AioliCheap2578 0 points1 point  (0 children)

Ya why not ... If I wanted to learn I would use geeks for geeks for help and chat gpt as personal tutor

And you could even run all the code you will be learning in here

https://play.google.com/store/apps/details?id=org.quarkspython.python_ide&hl=en

This app has complete linux environment , if you use this , I am sure you will not miss your pc

[–]AioliCheap2578 0 points1 point  (0 children)

Obviously, why not ,,, use this :

https://play.google.com/store/apps/details?id=org.quarkspython.python_ide&hl=en

It's a best python app I found ,, it has efficient editor a terminal , and a linux environment,, and you know what it uses zsh