As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
Remember Aptana Jaxer? It plugs into Apache and allows using JavaScript on the server-side as an alternative to languages such as PHP. It comes with a consistens and slick API for filesystem access, database connectivity, socket communication and whatever else you need.
I wonder why hasn't this been more widely adopted, why aren't more people using this? Javascript is a modern and clean programming language as opposed to PHP and the Jaxer API is just so much more consistent and neat. No offense, but the PHP API is just such a big mess with all its inconsistencies and its inconsequent function naming convention.
Jaxer also makes client/server communication really convenient with its runat="server-proxy" where you can directly call server-side function from within your client-side script and Jaxer takes care of all the XML HTTP request stuff.
So I would just really like to here what people think about it or why there's hardly anyone using it. Not wanting to start a flamewar here, I'm just curious.
Thanks
Well, first of all, there is Node.JS out there, too. Far more people have heard of that, probably. And people do use node, especially when it comes to chats and similar things: Things there long-polling is appreciated.
My personal problem with node is, that it is so asynchronous. That's a very, very, very big pro on one hand, because is allows most awesome performance and makes some things so much easier, but on the other hand it is a big minus for those used to synchronous programming languages. I simply have problems with looking at code which has 15 callbacks nested in each other...
I remember taking a look at Jaxer, back when it came out. I don't remember any sample applications at the time though. I wanted to get a feel for what it was good at. Just because a language is "cleaner", may not be enough to get people switch. What is its "unique benefit"? For example, Node.js is good at real-time applications and they make that relatively clear in the sample code on their front page.
I think there was also been more uptake of Javascript, since Jaxer was initially released. There seem to be more back-end developers who now also know Javascript. I would say that's more true now than when Jaxer was released. In other words, maybe it was ahead of its time.
Personally I liked Jaxer, because you easily could use the same code client and server-side without duplication (such as form validation), however I didn't like, that you had hardly any control over the generated pages, which where propped full of JavaScript even for the most trivial page and made the pages highly depended on JavaScript, which made unobtrusive JavaScript virtually impossible.
So I guess for purely JavaScript-based web apps it's ok, however now there is for example Google Web Toolkit, which is much more powerful, which basicly also allows you to use one language client and server-side.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I just now completed javascript in 24 hours now i want to move to advanced javascript, can someone suggest me advanced javascript books. I am pretty well versed in HTML and CSS and a novice at PHP. Me and my friend are planning to create a website(think it as a social networking site for college or something similar to that) so what should i learn to do that. Is PHP JS and HTML are enough? Can you suggest me books for this. Thank you
24 hours isn't enough to fully understand any language beyond its syntax and how to accomplish some basic tasks. Before tackling a large social networking project, try to make smaller, simpler programs or layouts.
To fully realize your social network, you'll need to know PHP (or Ruby, or Python, or C++ if you're crazy), HTML, probably JS, and some sort of data store; usually an SQL implementation or one of the newer NoSQL databases. It's not something you can throw together in a week or a month unless you really know what you're doing.
Start small, with a blog or a forum engine. That alone will take weeks. Then work your way up.
I will suggest You to learn some security in php like sql_injection and xss.If you are familiar with them then you should learn some ajax with javascript and jquery.It will very helpful to provide a interactivity like facebook
Quoting the advice from Gordon
if you want to become an expert programmer, google SOLID, buy GOF, buy POEAA, buy Clean Code, lookup GRASP, DDD, CQRS, DCI … but dont ask for PHP books. That's the most reasonable suggestion I can give you when you ask for Expert PHP books really.
maybe start here: ustream.tv/recorded/22783515
and you have just got he overview of language ... no one can be perfect in 24 hour even i think john skeet cant do that so you need to learn at lease 2 month to get a good or ok level knowledge
and also there is a level of website like if you think you want to make a website for a college which might have not many feature you can do this by some knowledge of php ,html,jS,ajax and basic database but if you want to make eCommerce website or a website like so working than you need highest level of knowledge
It depends on what kind of website you're trying to develop.
If you are looking for a highly interactive modern website, I would really suggest learning Flash, ActionScript, and continuing on JavaScript. Taking a good look into HTML standards and animation would also be extremely useful.
If you are looking for how to make an e-commerce website or something similar, improve your knowledge on PHP. Ajax in JavaScript is also extremely useful, as you don't want your customers waiting forever if you have a slow connection. SQL, along with some kind of database engine (I'd suggest MySQL) is mandatory, or your users can't buy anything. But that's far down the track.
I think most websites split into those two categories.
But then again, some beforehand practice is definitely needed. No book on sale, as far as I'm concerned, will give you enough knowledge to build your own good website straight up. It takes experience, and not just of coding, but more of the study of user friendliness and what makes up that.
Really depends on what you need. ;)
Learn Web Security. Start with the book Essential PHP Security. Then check out the question What should every programmer know about web development on programmers.stackexchange.
I'd suggest you first read this post in Stack Exchange Programmers:
https://softwareengineering.stackexchange.com/questions/46716/what-should-every-programmer-know-about-web-development
It is a very similar question to yours, and has many helpful answers.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Me and my team will soon start the development of a new web (vtv) service.
Most of the stuff will be processed and handled through a json api but we need a decent control panel for users who want to access their data in a gui environment.
We are debating if it's worth the time to develop the control panel with a framework such as knockout or backbone or if we should just stick with our classic stack.
As a devoted Javascript fan and developer I have used both knockout and backbone for some minor apps on my spare time and I can already see how hard it is to put all these peaces together in a real production.
Is it really worth to spend extra money to follow the trends and give the user a speedier gui?
My company seems to be interested in fast bucks solely so please tell me arguments to use!
Thanks =)
I can't comment on Knockout, but Backbone is absolutely brilliant. It's a small framework to learn, and once you get the hang of it, you'll find it does what every framework of its kind should do: implement the bits that you would have implemented anyway, and think about the issues related to that that you'll realise a little down the line.
It provides a sensible event and object model system that handles the business of keeping server-side objects and client-side objects in sync and has a sensible view model with event bindings linking the two.
So to address your question, it really depends on what you're doing. If you're writing the kind of asynchronous application that uses models and gets data from an API, chances are you'll want to use the same architecture as Backbone. If you're not, you've either designed something very different and it'll be no use (so you can say 'it just doesn't fit') or you've made a mistake in your design and you'll soon need to re-write!
Knockout or Backbone will not help you give the user a 'speedier gui'
However, it will make development easier. The frameworks impose a structure on your code - which means its easier to maintain, other people on your team can read the code and understand the flow more easily. This means you can respond to user feedback faster and give your users a positive experience
For speed of the UI itself, you should use speed optimization techniques starting with investigating the causes of slowness of the UI
In general, I'd suggest you go ahead with the framework of your choice. Only good can come out of it
Generally you should choose a framework / library because it gives you added value or shortens development time.
If you have the time/money and want to learn to implement new technologies while writing software, that's great, go for it!
If you need to get things done quickly, use the right tool for the job.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I need to valorate what technology use for a web project, the team is composed by 4 developers and the time of the project is 1 year.
I'm more familiarized with php but the client is asking me to do it with JAVA EE.
I always have the same perception with Java and its frameworks:
So much xml and class in order to do simple things. In codeigniter I've to use 3 files (model, view and controller) with hibernate + spring + JSF I need more than 10 files!!!
An abusive use of the server. The javascript code lose importance and it's not good nowadays. Of course we can add javascript code but It seems "java web guys" prefer do the stuff on the server instead of the client.
Not good-looking application. Richfaces seems like a web of several years ago.
When I see a java application like liferay, alfresco, they looks heavy and very slowly.
I think I can be a little confused because lots of people and big companies continues using JAVA for the web. Why? it's about integration?
On the other hand Java is faster than PHP, but JAVA's servers need lots of memory (more expensive). In a server with many request we can improve with a language like php with bigger time per process and less memory per process because the server never is collapsed because of memory. Sometimes a JAVA server could collapsed because of memory and the average of response time in a real production environment would be bigger than php.
I'm really pleased with Codeigniter, why so many people thinks Java is better?
Thanks in advance,
Alberto
well I'm not using CodeIgniter so my comparison is already incomplete.
Question one would be: why do they ask for Java? Often big companies only offer Java or .Net environments for productive systems so they might not have the people to productively run PHP applications. I know its not complicated but the maintenance people define what they are running.
Ofter people talk on languages and their features but when the first business use case has to be discussed no framework will save you that amount of time to make it count. Most programming language will somehow solve the issue.
Java is not only RichFaces or JSF. There is a lot to choose from. A LOT. Not an advantage.
Stuff often forgotten is the tool support. Java comes along with a JVM that can be analyzed in detail what it does with its memory, garbage collector, threads and so on. Profilers in Java allow you to identify almost any memory leak within a few hours.
Most of the JVM monitoring works in realtime (with about 5% overhead).
Talking about tool: refactoring support is far beyond what PHP IDEs come along with.
You are correct if the first look at Java compared to PHP looks like elephants and horses. (ok the logo of php is an elephant, perfect comparison...). Horses are more flexible to turn around corners but they might not carry that much around.
I think from a language perspective Java is still more advanced than PHP. Namespaces, Classes, Type-Safety. These are somewhat available in PHP but still quite new.
Frameworks like Spring allow you to leverage your application on an architectural level and are more than just libraries.
I'm not the biggest Java EE fan, so I'll not complain on that.
A simple approach for you could be Tomcat+Spring+SpringMVC and a template engine for the GUIs. There is also GWT (Vaadin) if you target higher speed client behaviour (still a lot more out there).
There are lightweight approaches in Java too. I agree the standards in Java do have a more fatty tendency.
In my experience Java has no major drawbacks compared to PHP. The language choice will only affect success of the project if people come with less knowledge than required and spend too much time in learning things. And trying to find the right book about Java could be a project by its own :)
(counting as an advantage)
But I have no doubts PHP would allow you to finish the project.
I would rather look into the goals and requirements before choosing the technology. This often implies or simplifies a decision.
I hope I did answer at least one question here :)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Hi If I want to choose a language for web development what all the factors I should take care?
And following things are important in my application , so keeping these in mind what language I should choose ?
Every user will be having an account ( need database programming)
Different Data should be shown at client side based on type of the user ( there will be different type of the users, some data will be common to all, some data will be specific)
Need to manage all the data efficiently at server side ( server side programming )
Give rich UI at client side .
Keeping all such things in mind, what language I should choose for web development? please mention in terms of client side and server side programming.
And I did go through the same kind of question in stackoverflow , still am not clear with my doubt, expecting detailed answer. please Provide me necessary links, and I am thinking about php, ruby, JSP, but am not getting which one to choose and when?
Definitely It should be dependent on what I want, so above points tell that what exactly the application needs. Need to manage accounts, different data etc.
Almost (if not all) every modern languages have database bindings, and even if not, database programming could still be done using other backends.
This is application specific, has nothing to do with programming language.
Language contributes very little to speed of execution. Compiler/interpreter implementation, algorithms, data structures, architectures, frameworks matter at a MUCH greater point.
The only (dynamic) web programming language that browsers understand is JavaScript. You can use any JavaScript framework or even any framework that could generate JavaScript code to manipulate user interface.
For a general language:
Will it run on the server I'm looking at getting, or the hosting service I plan to buy?
Do I know it/can I learn it quickly?
Does it have the features I need now, as well as in the future if I plan to expand my web app?
Your questions:
Does this language have a ready-build database interface? If so, good!
Every single language out there supports some sort of conditional (if()) statement. You just need to use them properly, with the data you have.
Back to the first bullet point; will my chosen language run on a webserver?
With a few exceptions (NodeJS, for example), you can't use the same language client and serverside. You'll need to know at least HTML and CSS for your "rich UI", or you could always hire a designer and leave yourself to do the backend.
Personally, I would recommend you use PHP for this project. It does everything you want, is very widely supported by web hosts, and is free to use. Most web IDEs work well with PHP, as do text editors.
In all honesty you are describing just about any of the major server side scripting languages. It all comes down to how much experience you have with the language and which one has the API's / resources you need.
For example with PHP you can use Wordpress, Drupal or Joomla to power the CMS aspect of it all.
On the other hand if you had to script it all from hand then you just need to choose the language you prefer to use. Look at how the scripting language interacts with the database. Does it require much more code to access a query, are you comfortable using the language, can you use that language on your server?
PHP tends to be the no-brainer since it is widely support, there are plenty of resources and information all around the web due to it's popularity, and most of the major CMS's are written for it (meaning you don't have to write one yourself).
You could also consider newer Web languages like Opa or frameworks like ocsigen (with Ocaml), and you could also write your Web application; e.g. with FastCgi technology, in whatever language you are familiar with.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
It is widely believed that PHP is the easiest programming language to learn for a beginner. The argument goes that PHP is the easiest language to use for getting a quick prototype up-and-running.
Why might this be? What, specifically, makes PHP easier to use than other languages?
Would this remain true, even when learning to use the object-oriented aspects of PHP? Or is it actually the object-oriented aspects of PHP that make it easy to learn? How does it compare with other web programming languages?
PHP is native to the web. While Ruby and Python have much cleaner syntax, more elegance, and more power, there will always be a layer of abstraction between Ruby/Python and the web itself -- after all, they were designed for much wider domains than the web.
Newbies to programming are typically newbies to sysadmin, and getting to Hello World in a Rails or Django is pretty painful -- for some even prohibitively so -- compared to PHP.
For newbies, it's easy to conceptualize that typing in:
http://mysite.com/something.php
...will execute the code stored in the file:
/path/to/mysite's/webroot/something.php
This simple one-to-one routing also mirrors that of HTML and other static files.
Beware, however, because this one-to-one routing also leads to security problems (i.e. people tend to keep all of their executable code within the webroot -- even secure code, which may contain passwords, hash salts, and other Privacy-Important code). Combine this with a lack of sysadmin experience, and many sites on the web are a chmod away from being totally exposed.
Responsible PHP like Symfony helps people avoid this, but Symfony requires the same level of sysadmin chops as Rails and Django.
Object oriented programming is optional
PHP is forgiving
The script continues running on minor faults.
When E_NOTICE (or even E_WARNINGs) are suppressed, the errors aren't even noticeable.
But also in the small things like substr: In C# you'll get a big fat exception when you'll try substr($text, 3) on a $text with 1 character.
Great online manual
http://php.net/manual/
Quick and Dirty is the default
The language is filled with useful shortcuts.
PHP lets me express what I want without typing an essay.
Conceptual simplicity.
A php site can consist of one file representing one page, with the dynamic content embedded within the static markup as needed. You can scan down a simple php file and see everything defined and run sequentially.
With a simple php site, there is no learning curve where one has to figure out in what file a specific piece of logic belongs, or in what external file a function has been defined.
...
Of course there is a reason that frameworks like rails provide lots of files and a fixed structure, and I would definitely recommend using one for any sizeable (and probably almost every small) site.
I do think though that it's this very low barrier to entry that is responsible for a lot of php's popularity.
I don't think that there's any reason a better php style system couldn't be written in ruby or similar - think just directories and .erb and .haml files and nice 4.days.ago syntax. But most people who could do this see the value in the extra tools that a framework provides. Sinatra is a minimal framework, in which it's possible to define an entire site in one file, but even it has routing powered by code instead of just directory and file naming.
PHP have many web tutorials and books about it, it's free and popular which makes PHP communities bigger. And also it's intuitive.
While PHP is far from the best web programming language, it's the most common (in terms of availability in hosting packages), the most popular (even in things like tags here on SO), it has some of the best documentation, and it's one of the least strict in terms of having to follow any sort of standards.