Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialRodney Wilson
2,300 PointsWhich track do I take if I want to make a Hybrid App?
Im assuming that the Web Development Track is the right one to take but I just want to make sure.
I was about to switch to the Objective-C iOS Development track but I think with my first app im going to try to target all platforms even though I know native development usually works a little better on the targeted devices.
2 Answers
James Gill
Courses Plus Student 34,936 PointsRodney,
treehouse doesn't offer what you're looking for. They only offer Swift or Objective-C-based courses for iOS, and Java-based courses for Android. I highly recommend suggesting it, though.
Tim Knight
28,888 PointsRodney,
Can you tell me a little bit more about what your plans are? There are frameworks like Appcelerator or PhoneGap that you can develop multi-platform apps using web technologies like HTML and JS specifically. There are also solutions where you develop something using native technologies and just include the web requests inside the applications chrome. If you're going to use something like Appcelerator or PhoneGap then learning JS in the web development path is going to be incredibly important for you.
Rodney Wilson
2,300 PointsThe project will be centered around data collection. So beyond working with frameworks like Appcelerator or PhoneGap, in order to make high quality hyrbid apps, everything that I will need to learn is in the Web Development Track?
Tim Knight
28,888 PointsRodney, without knowing details about your project it's hard to say if everything you'll need to learn will be in there. But if you're building an app with hybrid frameworks, yes... Javascript is going to be a key component of that and it's part of the development track. You might also consider browsing the Javascript courses in general in the library at http://teamtreehouse.com/library/topic:javascript
Rodney Wilson
2,300 PointsThanks for the help, Tim Knight.
Rodney Wilson
2,300 PointsI actually have one more question. What if I not only want to develop a hybrid app to work on both Android/iOS platforms, but I also want it to work as a browser extension/add-on? Do I need to learn anything extra to get it to work as a browser extension on different web browsers?
Tim Knight
28,888 PointsRodney, depending on the browser most extension have a basis in Javascript as well. I'd suggestion once you have a handle on JS you start looking at the documentation available for the browser(s) you're targeting. You can look at Chrome's documentation at https://developer.chrome.com/extensions. From what it sounds like is that you have an application idea in mind already. One thing you should be considering is if all of these systems are working with shared data from a server how is the server communicating that data? You might want to look at either the PHP courses or Rails courses too to look at server side code depending on what your goals are. The Rails API course specifically deals with how to develop an API on Rails which is something you'll be able to talk to using Javascript.
Now it's possible that you don't need PHP or Rails, but if you're dealing with creating a project for Android, iPhone, and Browser Extensions... perhaps whatever the data is for a user will be shared between them... and if that's the case you'll want to at least consider those options.
Rodney Wilson
2,300 PointsTim Knight, that is great advice, thank you. Is there any advantages of learning PHP over Rails or vice versa? And if I later learn Ruby on Rails should I start with Ruby first? And finally, can Node.js do what PHP and Rails can do? I know that it is back end Javascript but I don't know the advantages and disadvantages over choosing one over the other.
Tim Knight
28,888 PointsThose are all validate questions. Honestly it's all going to come down to preference so I would suggest at least take a course or two in all of them to see which one you connect with more. I've learned a lot of different programming languages over the last 20 years but personally I connect to Ruby—but not everyone will. There are some great PHP developers out there, but as you'll learn in the PHP Best Practices course on Treehouse there is a lot of outdating information that leads to new programmers following bad practices. Node.js to is an option, but I would say that your hosting options might be a little more limited as the history of both PHP and Rails being around awhile hosting solutions have stabilized for those platforms. Most advanced Rails programmers will tell you that if you want to get really good at Rails you need to know Ruby and that's 100% true. However, to get started with Rails you don't. Most web developers that try to learn Ruby first I find struggle because they can't relate to the context outside of developing a website. Learning the fundamentals of Rails first helps develop that context. You can then learn more about Ruby as you become familiar with Rails' role in serving as a framework for web development specifically. Does that make sense?
Rodney Wilson
2,300 PointsThanks Tim. Your explanation for learning Rails first over Ruby made a lot of sense. Good advice on PHP too. And about Node.js, I just assumed that it was a good thing to have both javascript on the front end and back end but you make some good points about the hosting options compared to the other two due to their established history. I appreciate all you advice. Thanks again.
Rodney Wilson
2,300 PointsRodney Wilson
2,300 PointsThanks for the reply. I will do that.