Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch.
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast! - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird…)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,Kostas
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch. �
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast!� - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independenceWhat are your thoughts on that?
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that:�https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at:�http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with �the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence�
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch. �
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast!� - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)
My personal approach is always to distribute. No need to stick to one language, one platform, one technology. You can build different parts of the system in different languages and stick them together. E.g. a web services based architecture.
The more independent each module is and the more clearly (and technology independent) its interface is defined then the best it is. I still haven't worked for a project where a module didn't change or even got re-written from scratch.
I think the first part is to break down the system into modules. Identify the requirements for each module and their interconnections and then see what is appropriate, also taking into consideration the current knowledge of the team/resources + time.
Key questions:- What are the backend requirements also considering the long term targets?- What is the data model, how complex is it? Does it have a rich schema or not (nosql or sql and where)?- How complex the user interface should be, how should it interact with the backend?- Is the backend complex enough or is it simple enough and can be tightly coupled with the front-end?
- Is there a need of multiple backends collaborating with each other�
- Which modules could have performance issues?
On Wed, Feb 15, 2012 at 5:02 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that:�https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at:�http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with �the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence�
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch. �
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast!� - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)
ΟΚ Ι ll need to check NodeJS and let you know what I think.
In any case I think, whatever path you will follow there is alway a Significant amount of Learning Curve.
In most P2P Scenario I have seen there is always need for SuperNodes and staff like that so P2P is re quires Some sort of Servers just with Different name ie SuperNodes. It just you don't need for a DataCenter. This is the case of Diaspora.
However, since it is going to be for Production and not just for Fun then we should follow a set of tools that you can remove them of use them partially and not depend on them. CMSs I have tried so far has the problem make you depended on these tools and do simple things with had way. In addition, the Core engine should be so basic so we will be able to do "LowLevel" Staff without being forced to change the Core it self and Discard it eventually if this is our Goal. This is what Django is Promising.
Have anyone use any of these tools for real production projects?
My Experience is that PHP is not scalable and recored lots of Apache modules to improving efficiency. I have even needed to employee several Tricks an Patches to my Site just for Decries my CPU Usage on the Server. In addition I need to pay handres of Euros per year just for hosting because PHP is a Wild Beast eating the CPU. Of course this has to do with the Joomla, however, I don't know any PHP CMS for really demanding Web sites where Scaling is required (I think only Magento does but not sure).
What is the case for the rest of the tools we are discussing here? and NodeJS. Django it suppose to be ready for great Scaling (But I don't know because I haven't Use it) anyone knows?
Cheers!
Mitsos
On 02/15/2012 06:02 PM, Zoumpatianos Konstantinos wrote:
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that: https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at: http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch.
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast! - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird…)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,Kostas
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.
Hi Kostas,
and thank you for you detailed response.�As we are building an application which is targeting to an "unlimited" number of users we need to employ automated testing in all different languages. Do you think that this is reasonable with many languages being involved?
Cheers,E.
On Wed, Feb 15, 2012 at 4:32 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
My personal approach is always to distribute. No need to stick to one language, one platform, one technology. You can build different parts of the system in different languages and stick them together. E.g. a web services based architecture.
The more independent each module is and the more clearly (and technology independent) its interface is defined then the best it is. I still haven't worked for a project where a module didn't change or even got re-written from scratch.�
I think the first part is to break down the system into modules. Identify the requirements for each module and their interconnections and then see what is appropriate, also taking into consideration the current knowledge of the team/resources + time.
Key questions:- What are the backend requirements also considering the long term targets?- What is the data model, how complex is it? Does it have a rich schema or not (nosql or sql and where)?- How complex the user interface should be, how should it interact with the backend?- Is the backend complex enough or is it simple enough and can be tightly coupled with the front-end?
- Is there a need of multiple backends collaborating with each other�
- Which modules could have performance issues?
On Wed, Feb 15, 2012 at 5:02 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that:�https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at:�http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with �the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence�
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch. �
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast!� - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)
On 02/15/2012 07:11 PM, Eleftherios Garyfallidis wrote:
Hi Kostas,
and thank you for you detailed response. As we are building an application which is targeting to an "unlimited" number of users we need to employ automated testing in all different languages. Do you think that this is reasonable with many languages being involved?
Check out his last e-mail
Cheers,E.
On Wed, Feb 15, 2012 at 4:32 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
My personal approach is always to distribute. No need to stick to one language, one platform, one technology. You can build different parts of the system in different languages and stick them together. E.g. a web services based architecture.The more independent each module is and the more clearly (and technology independent) its interface is defined then the best it is. I still haven't worked for a project where a module didn't change or even got re-written from scratch.
I think the first part is to break down the system into modules. Identify the requirements for each module and their interconnections and then see what is appropriate, also taking into consideration the current knowledge of the team/resources + time.
Key questions:- What are the backend requirements also considering the long term targets?- What is the data model, how complex is it? Does it have a rich schema or not (nosql or sql and where)?- How complex the user interface should be, how should it interact with the backend?- Is the backend complex enough or is it simple enough and can be tightly coupled with the front-end?- Is there a need of multiple backends collaborating with each other
- Which modules could have performance issues?
On Wed, Feb 15, 2012 at 5:02 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that: https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at: http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch.
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast! - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird…)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,Kostas
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.
Oh yes I see your point and completely agree. :-)
On Wed, Feb 15, 2012 at 5:25 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
It could be a problem I agree you are right, but I would like the idea of having a standalone service like a server which can do all the hard work and a separate front-end.�
So for example you can easily create a Python/C++ server which runs on each node. Which is also easy to test and install and lets the users use a variety of front-ends.�
The important part is not to use different languages per se, but having the ability to do so.�
One can build everything on python but create modules communicating with each other via open apis so that if a third party or you can provide a better implementation it will still be possible (leaving space for scaling cpu intensive stuff).�
About tests, if the number of languages is reasonable and well integrated then each subsystem can have its own tests. But maybe I am missing something here so please let me know if I am wrong.
On Wed, Feb 15, 2012 at 6:11 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Hi Kostas,
and thank you for you detailed response.�As we are building an application which is targeting to an "unlimited" number of users we need to employ automated testing in all different languages. Do you think that this is reasonable with many languages being involved?
Cheers,E.
On Wed, Feb 15, 2012 at 4:32 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
My personal approach is always to distribute. No need to stick to one language, one platform, one technology. You can build different parts of the system in different languages and stick them together. E.g. a web services based architecture.
The more independent each module is and the more clearly (and technology independent) its interface is defined then the best it is. I still haven't worked for a project where a module didn't change or even got re-written from scratch.�
I think the first part is to break down the system into modules. Identify the requirements for each module and their interconnections and then see what is appropriate, also taking into consideration the current knowledge of the team/resources + time.
Key questions:- What are the backend requirements also considering the long term targets?- What is the data model, how complex is it? Does it have a rich schema or not (nosql or sql and where)?- How complex the user interface should be, how should it interact with the backend?- Is the backend complex enough or is it simple enough and can be tightly coupled with the front-end?
- Is there a need of multiple backends collaborating with each other�
- Which modules could have performance issues?
On Wed, Feb 15, 2012 at 5:02 PM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
NodeJS sounds really promising and there is a lot of buzz around it recently. Apparently there is also a good codebase for that:�https://github.com/joyent/node/wiki/modules.
If this is going to be a distributes collaborative system then real time communication between node<->node and node<->browser in a publish subscribe or similar fashion is crucial. A project that is also very promising and worths to take a look at:�http://www.ape-project.org/.
I am sure though that you can write comet services with nodejs too.
NodeJS is extendable via JS or C++ which is cool.
K.
On Wed, Feb 15, 2012 at 4:30 PM, Alexandros <atria...@gmail.com> wrote:
I have no problem with doing it in Django, or Ruby, the problem is that I have no experience on those and it will take some time to learn (however I always love learning new technologies :D )on the other hand I'd like us to check out node.js a bit (where javascript is used throught the client side and the server side) , the one our "technical mentor" suggested over at the Startup Weekend. It seems quite promising...
Concerning the P2P. I would also like your suggestions guys. If we are to build this social tool with �the prospects of having a big social impact, especially if we go the non-profit way, we might want to go with a decentralized architecture (we can either do it the Diaspora way, or in more traditional P2P ways), one that would ensure user privacy and service independence�
What are your thoughts on that?
On Wed, Feb 15, 2012 at 3:30 PM, Eleftherios Garyfallidis <garyfa...@gmail.com> wrote:
Lets not decide immediately. I was talking with Alex yesterday on the phone. I think he will have some good suggestions too - even the possibility to build this peer-to-peer. He is most experienced than all of us so he should lead the design in the beginning and then we can start contribute. But yeah Django seems better than I was expecting - but do all servers (Apache) support it?
On Wed, Feb 15, 2012 at 1:24 PM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
It seems the Stuff I ve read so far plus some review to the Django book recently I ve acquired agrees to Kostas Experience. (Thanx Kostas)
YES, MVC it should be there in any Architect we might use.
There is a problem going from scratch if you want to go fast, eventhought some times for example for Ajax stuff is better to do it with basic custom libs instead of JQuerry or other Ajax lib. But in our case I think that there are lots of staff required as prerequisite to go from scratch. �
So Lets go Django. I will do that anyway for transferring my Web Site from PHP-Joomla/Virtuemart/+1k-of-Hacks to Django/Satchmo-Python. So I can work for both and gain experience faster.
((( There is Satchmo Project on Django Engine for E-Commenrce in case you do interested Kostas, it just an extension of Django and not a fork i.e. it goes better as Django goes better giving the basics to build an ecommerce fast!� - http://www.satchmoproject.com/ )))
Twisted is a lib mainly for building fast a Network App with Threading/Multiprocessing stuff built-in.
Cheers to all!
On 02/15/2012 01:46 PM, Eleftherios Garyfallidis wrote:
Great post Kostas. It does help a lot indeed. Storm looks very interesting :-)�
Alex?
On Wed, Feb 15, 2012 at 11:25 AM, Zoumpatianos Konstantinos <zoumpa...@disi.unitn.it> wrote:
Hello guys!�
I have used both the web frameworks for big applications. To my experience Django is by far better and less "restricting" and I would personally go for that choice if I had to choose between the two.�
But bare in mind that all of them are huge web app frameworks, and as such they do a lot of magic, which most of the times is really resource consuming for a big production environment, I'd go for Django just because most of its magic is restricted in its extremely good admin section, this means that it doesn't get in your way if you don't need it.�
If you have a really complex database model then both of them can make your life so much easier (Rails is doing more magic here).
But why not simply use a barebones ORM framework like storm (https://storm.canonical.com/), a simple templating language, an MVC pattern and a really simple web framework without any mambo jumbo for this?
Key differences:
- Django allows for developer-defined object relational mapping
- Rails also does that, but with a little more automation (which is not always optimal).
- Django has a custom templating language, that does not allow any python code to be run inside the views, one has to write custom tags that are parsed and executed by the templating language (I like that as it takes the ability out of the designers to do anything weird�)
- Rails supports .erb files which are embedded in ruby (ALTHOUGH you can use templating languages such as HAML which is not bad at all, just a bit exotic)
- �As far as extendability, I will have to say that there are more libraries available for rails, although this will not be a problem for the average web app, you can always do a gem install google_places and have a wonderful Google places API in your app.
To me rails is faster to get you going (for a prototype) but harder to maintain and build a scalable system on it, django is good enough to get you started + scale. But in any case if the complexity of an application lies beyond what is a "simple/standard" website then maybe a custom solution is better.
One company that I know use rails for the frontend but for every kind of serious jobs they have a web services architecture running on twisted/python.
But always key questions are what do other people with similar apps use. How complex is the application, what tools are available and in which language/framework. etc.
i hope this helps a bit,
Cheers,
Kostas�
�
On Wed, Feb 15, 2012 at 10:38 AM, Dimitrios Pritsos <dpri...@extremepro.gr> wrote:
Thanx Eleftherios -
Rails is a Ruby WebSite/Apps-Components Lib and Django is a Python WebSite/Apps-Components Lib.
So I guess it is a mater of Python or Ruby, while PHP is the most popular yet by far. However, PHP it seem to have Great Limitations in the matter of Server Side Resource Efficiency but there are at least 100 engines and CMSs working on PHP.
I guess its a matter of choice whoever I think PHP is on its Sunset while Python and Ruby is on their Sunrise. As for Python vs Ruby in my web-based-research it seems " Ruby on Rail " to be very Fast for web development and " Python with Django " very Simple/Pure/Not-One-Line-Code-Does-it-ALL (in my opinion more versatile in the matter of maintenance for long term projects).
To conclude I think if one want to have an out-of-the-box solution the she/he should follow the PHP/CMS way. If not the its a matter of Flavor Preference.
Cheers!
Dimitrios
On 02/15/2012 03:02 AM, Eleftherios Garyfallidis wrote:
This is an interesting discussion between Django and Rails. I think it worth reading.�
:-)