Thinking about Creating an App -- But never programmed.

Cr0nJ0b

Golden Member
Apr 13, 2004
1,141
29
91
meettomy.site
Hey Folks,

Let my start by saying that I have tons of respect for Programmers. I started some programming in college, but quickly moved on to math and physical science. I found it a little tedious at the time.

Anyway, so here I am later in life and thinking I'd like to build a website and connect it to an app on the iphone. my question: Is this an impossibly difficult task? I have built small websites before, but generally used some kind of tool like dreamweaver (in the day) to build the basic parts.

I wanted to build a simple site for selling crap locally (like craigslist). It would need a backend DB and i'd like to hook it to an iphone and/or android app.

I'm thinking PHP, Xcode and SQL for the simple basics.

What i don't know is how hard this would be. Would it take years to learn the languages and start to build something?

your input is appreciated.

tanks
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,284
3,905
75
Personally, I think mobile-friendly web sites are much better than mobile apps. I'd:

1. Grab a CMS. WordPress, Drupal, and Joomla come to mind as PHP-based, if you need to add custom PHP content.
2. Grab a "responsive" theme (That means it looks good on devices of every size. Bootstrap is a good one, but may or may not work easily with your CMS.)
3. Customize as needed.
4. Forget the mobile app.

I wanted to build a simple site for selling crap locally (like craigslist).

Oh, hey, look, Another WordPress Classifieds Plugin might do almost everything you want. Except for the app. I'm seeing apps you can use for Wordpress, but I don't know how they'd interlink with the classifieds plugin.

Somewhat off-topic, but why do you think you'll do a better job of this than Craigslist? Personal connections to the group you're trying to sell to, like a For Sale/Trade forum for your friends? Otherwise, I don't see why you don't just use Craigslist?
 

Cogman

Lifer
Sep 19, 2000
10,278
126
106
I would first forget about even thinking about making a mobile app. Just focus on developing a website that is mobile friendly. That will be much easier than trying to learn and create the app software for both android and IOS. You could then look at something like phonegap to do the heavy lifting of making the mobile app.

Learning programming languages, IMO, isn't terribly hard. They are fairly similar (at least within paradigms).

Single page apps (SPAs) are the hot stuff right now. So I would recommend brushing up on javascript and some of the libraries/frameworks available. In particular, angular and react are two of the more "hyped" frameworks and libraries out there. Angular is more of an "everything you need is in the framework" while react is more of a "grab the stuff you need when you need them" sort of work flow. Angular just recently released a complete rewrite in the form of Angular 2, however, angular 1 has been around for quite a while now.

For backend stuff. You'll see a pretty large following of people that are pushing for javascript everywhere. Expect to see a lot of people recommending javascript in the frontend as a framework and the backend as a nodejs server. Personally, I still like a good statically typed language for my backend. Due to my current employment, I currently favor a Java Rest backend (ole reliable). Java was practically built to be a server and it fits that role really well. Other languages that might tickle your fancy include C#, F#, Scala, Go, or Dart.

IMO, PHP is on its way out of the web dev environment. It is pretty much only around now because of inertia and not because it has any technical merits that make it great for that sort of thing. Python, Ruby, or Javascript would, IMO, fill that role better.

For an SQL server. Postgres is the hot stuff right now. MySQL lost a lot of favor when it was bought by Oracle. There are several No-SQL databases out there, but I don't think they should be considered. The only exception to that is if you are looking at a host like Google's App engine and you want to use their solution (DataStore) or the similar on the various app hosting service providers (microsoft, Amazon, DigitalOcean, etc).

Speaking of javascript. I would really strongly suggest looking at getting a build setup going. Javascript has advanced much quicker than the browsers have, as a result you pretty much need to have some ES6->ES5 translation layer going on (Babel is the hot stuff for this right now). Popular systems are Gulp and Webpack. However, Jspm is an up and coming manager that I quite fancy (it is especially nice for React SPAs. It has a very pleasing development experience). It pretty much is a "get out of your way" sort of package management system.

If you don't want to do a javascript SPA, which is totally acceptable (though, perhaps not trendy at this point). There are several frameworks for just about every language out there. Everything from Cake, ruby on rails, Flask, Django, and Play for Java. It just depends on what you want to do.

I would strongly recommend learning how to do security correctly before starting. It is really easy in any language to introduce security vulnerabilities unknowingly. OWASP provides some good training around there on what to do and what not to do. I would strongly suggest looking into it before starting. As well, user authentication is very tricky to get right, I would strongly suggest that you instead use an oath2 service from Google/Facebook/Microsoft/twitter (or all 4). Let the big guns figure out how to correctly authenticate and store passwords. After all, you don't want to be another news clipping of "service xyz leaked out 100000 passwords today". You really need to get authentication right from the start, it is really hard to reverse course it if you get it wrong.

Finally, make sure you know how to database correctly . Read up on data normalization and structuring. Learn about indexes, what they are, how they work, when to apply them. You'll also want to understand what SQL injection is and how to avoid it.


And sorry if I've overwhelmed you a little. There is a lot that goes into setting up modern webapps correctly and there is a lot that could go wrong. If you are going to store and present user credentials, you want to be extra vigilant about how that is stored and access. You owe it to your users to treat their data as if it were sacred.
 

Cogman

Lifer
Sep 19, 2000
10,278
126
106
Also, what Ken g6 just said ... Mine is the route you go if you want the thing to ever turn into something serious you could monetize some day. Ken's is where you go if you just need something to fill an itch today.
 

purbeast0

No Lifer
Sep 13, 2001
52,930
5,802
126
i have a lot of webapp experience and a lot of mobile experience. i'd second the notion of just starting with a website and make it mobile friendly. there are even "web views" you can put into mobile apps that just basically wrap the website but make it an app, but i've heard apple will reject an app that is basically a website wrapper. android you can do whatever you want though.

if you did go app wise for ios you wouldn't be doing php, you would be doing swift or objective-c. i've done both extensively and strongly recomend swift over objective-c. i'm working on a pretty serious project now in swift (my first time using it) and i really like it.

but the real question is, why are you trying to reinvent the wheel? what are you trying to do with a craigslist-like site that isn't already being done?

and not to be a debbie downer or anything, but making a fully functional website with a backend and a database is like 99% out of your league based off of what you've said in the OP. and that's not even including the design work or doing any of the graphics. i think it is a lot more work than you are anticipating.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |