Settings

Theme

Ask HN: What technologies should I use for my web application project?

6 points by manish_chhabra 15 years ago · 17 comments · 1 min read


Hi, I want to build a real estate web application for listing properties (for sale, for lease, etc).

Can you help me decide on what technologies I should use to build such an application? Let me point out that I am good with Java/J2EE + JQuery for front end but somehow I feel that is not the best solution for such an application.

Should I store "real estate property" details in usual database (like MySql) or document oriented one (like MongoDB or CouchDB)?

What should i use for middle tier..

NodeJS PHP JAVA/J2EE Python ColdFusion Ruby on Rails

or something else ?

I am planning to use JQuery for the front end.

Thanks.

kls 15 years ago

We use HTML / CSS / and JavaScript exclusively for our front ends. We no longer use any intermediary or server bound languages such as PHP or JSP. We have found this to be faster to develop and more portable across back ends. If you decide to go the Java route for your back end I would use JAX-RS and EJB 3. With EJB 3 you can use a tradition DB and not have to worry about all the mapping that generally has to take place with the tradition relational model. Netbeans has pretty good tooling around JAX-RS and EJB 3 in which you can generate your REST service and entity classes from you database structure or generate your database structure and REST services from you entity model. Either way, you can have a working REST service layer up in a matter of hours with Netbeans tooling, it is quite nice.

As for the front end, if you are going to be building a large scale web application I would suggest adding Backbone and a few other libraries to your JavaScript library or going with Dojo. Either way you are going to need something to keep your app organized if it is going to be anything more than a few hundred lines of code.

  • keefe 15 years ago

    Overall I agree, preferring a ReST model with JSON. I do use java and i'm not particularly excited about JAX-RS (never used) or EJB3 (have used) . If I recall properly, then EJB3 merges with hibernate which I have used a lot, so it's not a bad choice. I use the gson parser for object<->json mapping. Overall, I think this is a solid style because it enforces MVC and scales nicely for everything but seo.

  • hrasm 15 years ago

    I am very interested to know how you gracefully fallback to noscript mode. I am asking because I am in the process of building something that does fallback gracefully in noscript mode. It is extra work no doubt. Is it really worth it? Would love to hear your thoughts on this.

    • kls 15 years ago

      No it is not worth it in 90% of our cases, we monitor traffic religiously and you greatly compound your cost to chase what (according to out stats) is less than 5% of the market, when you compound that by the fact that you are not going to convert that entire 5% the numbers are dismal for adding the cost and complexity to a project.

      We have found that one average that building in fallback modes adds 15% to 20% of cost and time to a project. We have also found that that money roughly equates to a mobile version of the web front end, which we see a higher market conversion percentage, in other words, that money would be better spent chasing mobile or adding features and revenue streams to an existing web app, than to chase a dwindling market of last gen technology adopters.

      When a client of ours absolutely insists on providing a noscript site for that segment, we tend to opt for browser sniffing and segmenting that traffic to a completely separate site built for those clients. We have found that keeping the noscript version and the full version separate greatly reduces the maintenance cost of both.

      • hrasm 15 years ago

        Thanks for the informative response. Redirecting clients to separate site is a nifty idea. I might do just that.

  • manish_chhabraOP 15 years ago

    Thanks

ra 15 years ago

If those are the tools you are familiar with, then go for it.

Stick with a SQL database and ORM for now, you can always convert to NoSQL later if you need to.

Most would suggest using one of the leading two modern framework combos for greater productivity (Django or Rails).

If you already know a few languages then you should pick up Ruby or Python pretty quickly.

Personally, I use Django - but in a previous life I did a lot with Spring + Hibernate; and whilst Java isn't trendy for startups, it is a potent combo.

keefe 15 years ago

I responded before reading the full post, stick with what you know and do restful json, couchdb is also worth looking into for prototyping. As long as your interfaces are clean you should be good. Also consider security.

  • manish_chhabraOP 15 years ago

    Thanks, I have decided to use RESTful JSON with Spring 3 + Jackson, mysql db.

    • keefe 15 years ago

      why mysql instead of postgres?

      • manish_chhabraOP 15 years ago

        I have been reading about postgres after your comment but still not able to see how feature rich and less mature postgres would benefit me more?

        I haven't used postgres before so I am not the best person to comment on it. Is there any significant advantage of using Postgres of MySql?

digamber_kamat 15 years ago

I think using PHP/mySQL will suffice for you. It is not giving you any technical advantage but it might be cheaper than going for anything else

rlawson 15 years ago

if you choose Java, don't slow yourself down with full J2EE stack. Stick with Tomcat + Stripes (or any MVC layer) + Hibernate or iBatis + Spring or Guice

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection