Hello guys,
Recently me and my friends decided to make a simple chat app just to see how it works. I favor building an android chat app but they favor making desktop apps just because one of their friends said it is easier to make. I say that they both have the same learning curve just on different platforms. Added to that I have seen very few people use desktop chat apps anyways (I dont know just from personal experience). They say to move step-by-step that is by first making desktop app (consider it step 1) and then moving on to android apps (Step 2). I say they both are on different platforms so step-by-step formula doesn't apply here because they are both on different platforms so with different learning curve. I want to know your opinion on this matter.
I would highly appreciate your reply.
Mar 4, 2015 03:44 PM
(This post was last modified: Mar 4, 2015 03:47 PM by sharpCode.)
I think every language has a learning curve and certain ones will be harder than others. Much like learning a spoken language certain ones are incredibly harder than others.
But now you have the personal context that comes into play... the passion to learn it, your current knowledge level, your ability to learn and so on.
As a rule of thumb though certain languages will be harder to learn. Especially the case with apple's failure... Objective-C, namely because its documentation is crap and it was designed for pointless reasons at the same time C++ was released.
(Mar 4, 2015 03:44 PM)sharpCode Wrote: I think every language has a learning curve and certain ones will be harder than others. Much like learning a spoken language certain ones are incredibly harder than others.
But now you have the personal context that comes into play... the passion to learn it, your current knowledge level, your ability to learn and so on.
As a rule of thumb though certain languages will be harder to learn. Especially the case with apple's failure... Objective-C, namely because its documentation is crap and it was designed for pointless reasons at the same time C++ was released.
Thanks a lot for your reply. But this doesn't solve my confusion, I am not worried about the langugage because we are using the same language no matter what. What i find pretty surprising is the fact that desktop apps is easier than android, I mean they both have the same learning curve just different platforms so how would it be a step by step process if we start with desktop first and then android.
(Mar 4, 2015 04:22 PM)jazzycool Wrote: Thanks a lot for your reply. But this doesn't solve my confusion, I am not worried about the langugage because we are using the same language no matter what. What i find pretty surprising is the fact that desktop apps is easier than android, I mean they both have the same learning curve just different platforms so how would it be a step by step process if we start with desktop first and then android.
So you are going to use Java I am guessing for both versions? If you are (even if you aren't) why not put all the logic into libraries and then use them so you only have to write that part once cause that part will definitely be the exactly the same. Then you just need to design the GUI. That would be a proper step-by-step process.
What your friend I think meant was because he finds Desktop easier lets do that then port it to android as the second step.
The difference is the API and libraries you use that is where the difference in the learning curve appears. If you are thinking syntactically then obviously learning curve is same but how you build a UI for a desktop or for a mobile phone is quite different.
Mar 4, 2015 09:10 PM
(This post was last modified: Mar 4, 2015 09:11 PM by jazzycool.)
(Mar 4, 2015 06:37 PM)sharpCode Wrote: So you are going to use Java I am guessing for both versions? If you are (even if you aren't) why not put all the logic into libraries and then use them so you only have to write that part once cause that part will definitely be the exactly the same. Then you just need to design the GUI. That would be a proper step-by-step process.
What your friend I think meant was because he finds Desktop easier lets do that then port it to android as the second step.
The difference is the API and libraries you use that is where the difference in the learning curve appears. If you are thinking syntactically then obviously learning curve is same but how you build a UI for a desktop or for a mobile phone is quite different.
Yeah he was like he started learning on desktop so start with it first and yeah that is what i was trying to say that you can just atart with anything you like they both have the same learning curve, so I changed my path.
Yes, largely because of these reasons:
1. You don't need to pay a fee to license and distribute your app.
2. You don't have to follow a specific design rule specification.
3. You don't have to bother with installing arbitrary SDKs and ensuring they are correctly referenced in your system path.
4. You don't have to modify the look of your app for different subsets of the platform, native controls handle that for you automatically.
5. If you want native speed, even though you're using a framework so you can write in one language regardless of OS, you get native speed.
6. Testing is easier on desktop. There's no need for emulators and expensive live-device previews (which is also cheaper)
7. The screens you design for are never too small.
8. You're not limited to distributing your app in one store.
That being said, if you're making a desktop chat application, you'd best be sure there is a mobile version and a web-based version too. Users expect it, but only Slack has been able to deliver on this 100%.
Mar 5, 2015 09:34 PM
(This post was last modified: Mar 6, 2015 04:57 AM by M0dy.)
I am agreeing with Dec in almost every thing he said, however if you're looking for a faster spread and greater audience I would go with Android.
People used to try out a service then look for it's equivalent for their phones, now I think it's the other way around. Phones are accounted for more than 50% of internet usage and it's increasing rapidly.
What I'm simply trying to say, I wouldn't download a chat app on my PC unless it's really popular, but on the store you actually got a better chance of spreading, but that's just me.
I personally don't think it's the same learning curve, Android is a completely different environment, and you will be using different techniques. Also keep in mind phones has limited resources which isn't an issue really but it may be a challenge sometimes.
I agree with you guys and yes my aim is to look for a greater audience and get my app popular for which I have less opportunity on PC because i have barely seen people download chat app on PC anymore. I was gonna start straight with android but then my friend were we should go step by step i.e going desktop first and then later on android to learn how things work. I was really confused because if your ultimate goal is to learn android why not start straight with it rather than taking a long way around.
Yes, definitely because you're not limited to the mobile environment and can publish your app anywhere without any restrictions
In short yes, using VB.net and C#.net compaired to using java is quite a easier task due to that Visual Studio hides the auto generated code for you where as in Java it would show mixed In and it kinda is a pain with all the android events, the graphical interface is harder to create in Eclipse other than VS2008->2014/15.
Mar 8, 2015 09:06 AM
(This post was last modified: Mar 8, 2015 09:07 AM by Sajuuk.)
Visual Basic .NET and C# are disabilities, not skills. Learn C++ or D. But, yes, Android application development is easier because there are more projects you can rip off. In C++, you don't get the original source from the executable.
(Mar 8, 2015 09:06 AM)Sajuuk Wrote: Visual Basic .NET and C# are disabilities, not skills. Learn C++ or D. But, yes, Android application development is easier because there are more projects you can rip off. In C++, you don't get the original source from the executable.
"Ripping off" and "Making" are not the same thing. If that's the kind of "development" work you do then I'm ashamed.
(Mar 9, 2015 03:57 AM)~Dec Wrote: "Ripping off" and "Making" are not the same thing. If that's the kind of "development" work you do then I'm ashamed.
"Ripping off" is "making" when you're on this forum board. Shouldn't you have found that out by now?
(Mar 5, 2015 02:46 AM)~Dec Wrote: Yes, largely because of these reasons:
1. You don't need to pay a fee to license and distribute your app.
2. You don't have to follow a specific design rule specification.
3. You don't have to bother with installing arbitrary SDKs and ensuring they are correctly referenced in your system path.
4. You don't have to modify the look of your app for different subsets of the platform, native controls handle that for you automatically.
5. If you want native speed, even though you're using a framework so you can write in one language regardless of OS, you get native speed.
6. Testing is easier on desktop. There's no need for emulators and expensive live-device previews (which is also cheaper)
7. The screens you design for are never too small.
8. You're not limited to distributing your app in one store.
That being said, if you're making a desktop chat application, you'd best be sure there is a mobile version and a web-based version too. Users expect it, but only Slack has been able to deliver on this 100%.
1. You could distribute your apk file yourself.
6. You can easily plug in a usb cable for debugging every android device I have seen has a developer mode that allows debugging straight to the device.
Mar 9, 2015 11:02 PM
(This post was last modified: Mar 9, 2015 11:03 PM by ~Dec.)
(Mar 9, 2015 08:12 AM)PureLifeCoding Wrote: 1. You could distribute your apk file yourself.
6. You can easily plug in a usb cable for debugging every android device I have seen has a developer mode that allows debugging straight to the device.
1. I have done this. At work, we have a framework that we use for static sites, and a deployer that can deploy those static sites to a number of outputs - one of those outputs is an APK that displays the site in a WebView. We have around 88 sites that we've done this with, we use Docker to distribute the APK - and I can gaurantee you no amount of self-distribution will get you equal footing as distribution in the app store would. I learned that from experience.
6. Yes, you can - but if you do not own an android device, you're stuck with emulators. And even if you do own an android device, you still have to install the SDK and mess with paths to make the sdk-tools binary available to your shell.
(Mar 9, 2015 08:08 AM)Sajuuk Wrote: "Ripping off" is "making" when you're on this forum board. Shouldn't you have found that out by now?
Ripping off is never "making". I know plenty of people here who make their stuff from scratch.
|