Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am currently in the process of analyzing the work of developing REST APIS for an Iphone Application using Java:
Firstly, Has anyone worked on development of REST APIs for iPad app or any other kind what is the kind of duration that requires to do it...and are there frequent changes in the REST APIs so that the project is a long one and my job is secure...or in general once you make APIS in 4-5 months maximum then that is THE END?
Are they something that a guy like me with no such experience in development of REST APIs can take up, are they in general something that only a guy with relevant experience can do?
If there are any good material on the internet about making them or anyway for me to get started with and go ahead with this:
I have just received the information that we need to develop 6-7 APIs for a start,,,any experienced guys about how much time it can take here is a sample workflow:
We have to click on Google maps..and based on longitude and lattitude we have to find a list of wholesale dealers related to our domain in that point and have to fetch them in JSON/XML Object...
Once the APIs are there, they are there and shouldn't change too often because it could break the app. So better put a lot of thought in the API design before you release it. How long it takes depends completely on the project. I can develop a REST API in a day, it could also take months, depending on the complexity.
It will take longer if you are inexperienced because you will need to do a lot of reading, especially when it comes to the architecture of the APIs. Again, impossible to say because we don't know your current skill-set. But in general: sure, if you are willing to learn you can do it, I don't see anything that would prevent you.
Lots of.. for a good framework have a look at Jersey. I also once found a good read about REST APIs in general: Link
As a conclusion, it's not necessarily only about developing the APIs, but also about the data you are trying to provide. Does that data already exist? Can you query it easily? How much logic do you still need in order to provide useful APIs? Those are the questions you should ask yourself as well.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
When learning/working with a new API, does anyone have any tips for effectively learning it?
I currently make a bunch of get requests to understand what I can and cannot retrieve based on the API's responses. From that point I try to map out what is within the API and see what I can build out.
If you guys could share anything what you do that would be great.
The first thing i do is to read API documentation and search for examples in it. As you get used to read this kind of docs you'll find easier to find exactly what parts of the functionality you need to learn first.
I also use search engines to look for more working examples, and after that I work on creating a minimal use case of the API (for example write a file with commons-io api of apache). For this is a good idea to create a project with multiple JUnit tests with minimal use cases of an API (in the example of commons-io create a file, delete a file, move a file, copy a file, ...).
I must say this is not a science and each API is a new world and may require a slightly differnt approach (As with rest apis you'll need to use some tool like curl or postman to understand how to communicate with them, others will have pre-requirements like have a working installation of a system, and so on).
As everything in coding you'll need to do it by yourself and struggle to solve issues you'll find by yourself (what can take several hours of your free time).
There is no "magic" behind learning something, and coding is in some way like playing a musical instrument, it requires practice.
I dont know whether you are a beginner or you have developed already but will start from scratch..!!
Apis are the code which will allow you to play with the content having certain formats...!!
There are apis based on what operations you want to do are.
Get=> In order to fetch something.
Post=> In order to save something.
Put => to update something.
Delete => to delete something.
People also use patch similar to update...!!
You can play around all these by constructing objects and databases...!!
You will require rest services spring restful web service is the ultimate good options..!!
Diving deeper you need to be careful assigning the names you give I mean the meaningful names as you dont know if tomorrow you become famous and need to make your apis sharable ;)
Now some common concerns are like
Meaningful Name.
Versioning is required like what the old apis are working and now what data your apis give.
Can implement swagger its a tool which will allow you to describe the apis like you can write what this api does what type of data it brings etc etc..!!
Apis are more or less called an end points means you have that link as a connection between front end and backend So need to keep it secure..!! By authentication.
Above four points are considered to be good practises for writing apis ;)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I'm working on a prototype app to showcase an idea of mine -- so it need not be fully secure or gold standard, just needs to get the job done
I am wondering what the simplest option is to retrieve & parse, as well as publish JSON files from/to my Github repository. I am unsure which would be the easiest to implement. Right now, I see a few choices, but I am sure there are others you guys know of:
Using a Service class, which utilizes the Handler, AsyncTask, and HttpURLConnection classes (I've done a tutorial on Barry Burd's Android Application Development All-in-One For Dummies, 2nd Edition in which I made a weather app that utilized a service). I am still somewhat iffy with this.
A much easier, straightforward usage of HttpUrlConnection in this answer. I understand this fully.
A more complicated version in the developer docs. I do not really get this implementation either.
Also, the process can't freeze up the UI.
There is some cleaner and better approaches. You can use lots of libraries for this purpose.
Volley
Retrofit
These two are some of best libraries for calling webservise apis and I recommend Retrofit because it keeps your codes more clean and reusable.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have to submit a project in my college for which I have only two months! I already have an idea of what to make but don't know which technology to go for. I want to use something latest so as to make my project more efficient and flexible.
I wanted to make something like "Attendance Management System" in which we can take attendance of students and save the records on underlying database, also to perform some kind of data mining on the data (to find some interesting patterns like the_most_attended_lecture or to apply some probabilistic model to estimate the_next_possible_bunk or analysis based on an individual student record to compute anything interesting...) and then to develop an android app for the UI that can handle request and response to the database.
I'm really confused as what to go for? Currently I have no knowledge of the following but my friend suggested me to choose among them: node.js (with express framework) REST API, PHP, JSP, JSON, and MongoDB.
I would really appreciate your help guys. Please help. Thanks
Lets try to decide the technology stack according to your requirements.
1. Latest technology - Although you didn't give any justification for this requirement. But as you want, latest fads going on are for web server are node, go lang, nginx(if you happen to choose php in the end) and mongo, elastic search for data store.
2. Less amount of time - You have only 2 months to learn the technology, build the prototype , design the db schema, implement everything and test. Hence I will suggest you to go with node.js or php(I am assuming you are familiar with JS and php).
3. High database IO - I don't know what scale you will be working upon but the only major thing you server will be doing is DB IO, hence you should choose some non-blocking technology and among them most famous is NODE.JS.
Node.js is something which is fulfilling every requirement.
If I were you, I would have choose express.js (express init and you are ready to go), Mysql (If you are not familiar with any NoSql as mysql seems to be fulfilling every requirement). And android app could be anything like cordova as app is doing nothing but HTTP request and some presentation of data.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've always been a backend C/C++ developer. Working on a Java project (Netbeans), and I am trying to figure out how to do the front-end/UI. While I am a pretty good back-end dev, I haven't really been keeping up with the latest and greatest in frameworks, etc. for the front-end.
The Java back-end component can communicate with JSON over websockets. I am trying to figure out what front-end framework I should use. I also don't want to recreate my project, and would just like to add to my current Maven web application project.
So what's the verdict? What's hip and cool these days? HTML5? JQueryUI? (are they even mutually exclusive?)
Should also mention that I just want to make a quick UI, b/c I am planning on handing off the task to another programmer for a "proper" front-end component later on. At the same time, I do want my version to be "decent". So, in a nutshell, I want something that is easy to use, but still capable.
Thanks!
Assuming this a web app, Angular is getting popular and Bootstrap has been popular for a while. Use pre-built templates you can find for free or at a site like http://themeforest.net . Don't waste your time trying to code your own, unless its super simple.
You probably want to also think about how the backend will communicate with the front if you haven't already. For example, will it use Servlets, or a framework like Spring Roo? You can also build the front in a completely different language, like PHP, as PHP outsourcing is cheaper and easier to find than Java . PHP is a server side language like Java, but I'm talking about a situation where the website's backend communicates with the java backend via an API or sharing a DB. PHP has many MVC frameworks such as Symfony and Laravel.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to develop a basic web app very quickly (1 week) for a demo.
My requirements are
Java (I need to make use of existing Java libraries to access the relevant data)
2 screens
One for static data view, maybe some search parameters
Other for basic form entry
No fancy AJAX required
Ideally easy for a web designer to come in and tart it up as necessary, without having to rewrite everything
My first stop was going to be to checkout Wicket as I've heard good things about it. I don't have the time right now to dive into anything heavy, which probably writes off JSF in my mind (I played with JSF1, steep learning curve which I've now slid back down).
I'm happy to treat the result as throwaway so if there's a framework which starts of well but then doesn't scale up to bigger projects, that would be ok.
Any suggestions appreciated on frameworks/approach.
Spring roo can very quickly create web applications using GWT for CRUD, and tarting it up later. Check out the Keynote from Google I/O 2010 (Especially Day 1, Part 9) where the skeleton of a basic expense tracking application is developed from scratch in about 2 minutes.
GWT support is in Roo 1.1.0.M1
As a milestone release, Roo 1.1.0.M1 isn't intended for mission-critical use.
It is probably easiest to get in the form already integrated with the eclipse based SpringSource Tool Suite
I suggest the Play framework which has the huge advantage to be full Java (so less learning curve if you don't know Groovy). Check out the demo!
Use Groovy/Grails. Full access to all Java libraries and you will be done so much faster it will make your head spin.
This is from a hardcore java user, by the way. It's just not the appropriate language for most web apps.
Oh, you could probably also use JRuby on rails.
Google App Engine. There are some good video tutorials from Google that get you up and running in no-time.
http://code.google.com/appengine/
Intro (< 10 min): http://www.youtube.com/watch?v=bfgO-LXGpTM
Check out CUBA platfrom, it matches your requitements.
I can suggest GWT. It works on Google App Engine too if this is an internet app.