What is the difference between a platform and a framework? [closed] - frameworks

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
There are a couple of topics on Stack Overflow and posts on the web addressing this question:
what is the difference between a framework and a platform
What is the difference between framework, platform and technology?
What's the different between Framework and Platform? Is nodejs both framework and platform? How about V8?
However, none of them really help me understand the actual differences between a framework and a platform as I conceive of them.
Examples of what I mean by:
Framework: Rails, Django or Laravel.
Platform: Node.JS or Meteor
What exactly sets apart a framework from a platform in the above examples?

Framework
A framework could be compared to a skeleton which needs to get some flesh attached to it. This programmatic flesh is usually provided by a specific application that links to and uses parts of the skeleton. So the actual work, ie. filling the holes and connecting the dots, is done by the application.
In programming, frameworks allow programmers to concentrate on the actual tasks they are faced with rather than to waste their time reinventing the wheel. Usually, frameworks are shipped with a set of predefined functions and classes. When using Spring (Java) or Symfony (PHP) for example, programmers do not need to think about things such as persistence, routing and session management too much because the work is done by standardized framework components.
Platform
A platform, on the other hand, provides both the hardware and the software tools needed to run an application - be it a standalone program or one which has been built on top of a framework. Mostly, it comes in the flavor of Platform-as-a-Service (PaaS), meaning that the code-basis of the platform software itself is not distributed or licensed. Rather, it is part of a hosted solution running in a cloud which can be accessed via APIs or GUIs.
Typically, platforms are built as scalable multi-tenancy systems, providing access to many users at the same time, thus using economies of scale to be able to offer services with an affordable price tag. Developers can then use platforms such as force.com or Google App Engine to build and run their own applications. In many cases, these applications are more light-weight than standalone programs because most of the business logic is contained in the platform.
Source:
https://commercetools.com/blog/2015/11/19/framework-vs-platform.html

Related

What's the Best Way to Develop a Simple and Affordable App to Break Into the Industry? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 days ago.
Improve this question
I'm a former professional software developer. I've been out of programming (doing ecommerce and marketing) for nearly 20 years, and I'd like to try getting back into software development.
I'm looking for advice on how to create a very basic and simple but useful application that I can own and promote. I'm hoping that this app will serve as a proof of concept for building more advanced apps. I'd like to be able to publish the app on my website and also make it available for iPhone and Android users through the respective app stores.
Does anyone have advice on how to do this?
Specifically, I'm trying to answer these questions:
What is the best, easiest language and framework to use for building a simple web or mobile application?
Any suggestions on what kind of utility the app should provide: e.g. calculator, weather update, unit converter, crypto, etc.?
Thanks in advance.
In 2000, I was the lead developer (pretty much the only developer for the first six months) for a company called Communitect. We were one of the first companies to create apps that used text messaging for bank transactions. We wrote most of the code in Java with a MySQL database, and our code ran on Apache Tomcat.
The company struggled because we were a bit ahead of the curve and ended up chasing a lot of squirrels.
I'm not looking to do something so innovative this time. I'd like to just make my own version of a digital mousetrap and see how the process works for building up its popularity.

Cloud platform for scala web application (like heroku) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm new to Scala world, I want to write a web application with Scala and deploy using a cloud platform (like heroku or open shift).
The problem is I used play framework (v2.2) with heroku and faced quite a lot of problems handling my data files. I finally decided to let go of Play framework.
Now, what choices do I have ?
I would use pure Scala (instead of using frameworks) if I have to, but don't know where to start.
UPDATE:
My application is very simple and has only a few pages, but It is used to upload image files and that's where I had problem with play and heroku.
So, to summarize, I won't need most features of usual web frameworks, I just need a minimal framework and a cloud platform (like heroku) to deploy my application in it.
There are many options, so it all depends on what your application does. One choice you should consider is to use a JavaScript single-page web application framework like Angular in combination with a Scala REST framework like Scalatra or Spray.
Or maybe you don't need Angular or similar at all and can just get by with a simple template engine like Dust or Mustache templates on the front end.

A good tool for building admin / content management interface over MongoDB? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking for a good tool (or library or a framework) that I could use to easily build basic content management functionalities over MongoDB.
I am very well aware of the Admin UIs listed in Mongo's website, and I'm already using RockMongo for query and some db admin tasks. The problem is that while I as a software developer can happily use these tools, they are too powerful and complex for the people who are responsible for managing the content in the database.
So I'm specifically looking for a MongoDB content-management tool with:
Ability to easily build (scaffold) user interface around collections (generated create, read, update and delete forms / views)
Ability to add data validation and some template or schema for objects, especially when new objects are created and added into a collection
Support for fine-grained access control (user groups, per collection and per object read/write/admin access)
I've been considering using django-nonrel for building one, but would like to get more opinions before going any further.
Since you're looking for a solution beyond a straight Admin UI, I expect you will have to roll your own. I went through a similar exercise a few months ago and ended up using Yii Framework (PHP).
The attributes you're looking for (scaffolding, validation, RBAC, ..) are common to many frameworks. Are there specific languages you would prefer/consider using? There are frameworks/libraries for Ruby, PHP, Python, etc. Many of these go to lengths to coerce MongoDB into an ActiveRecord/ORM pattern to enable use of CRUD and scaffolding. An emerging approach for working with NoSQL data sources is the DataMapper/ODM pattern, which is a much more comfortable fit compared to ORM.
Have a look at penguin: a module that automatically generates administration pages based on your Mongoose models.

Developing plugins for AutoCAD? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm thinking about starting to develop a plugin for AutoCAD, but I have absolutely no knowledge of the field. How does the plugin system work? What are the licensing terms? What programming platforms are available?
I'd really appreciate if somebody could give me a primer, or, even better, link to some resources for the total beginner I am.
Thanks!
Prior to AutoCAD 2014, there were three basic plugin types for AutoCAD:
AutoLisp
.Net
ObjectARX
AutoCAD 2014 also provides:
4. Javascript API. You can find a link to the documentation at the AutoCAD DevBlog.
AutoLisp can be used with DIESEL scripts/macros to accomplish and automate basically anything that a user can due through the UI, and a maybe a little bit more, but .Net and ObjectARX are much more powerful, allowing you to create your own entities and more advanced behavior.
ObjectARX is a C++ interface, and the .NET classes are actually wrappers to the ObjectARX interface. The .Net interface abstracts things fairly well, but you still have to be concerned with the threading and possibly some other things as you develop more complex applications.
As previously mentioned, Through the Interface is a great blog for .NET stuff.
For ObjectARX, there is a good introduction at ObjectARX & Dummies, but for the deeper material the Developers Forums are a good resource.
If you are developing anything for people other than yourself, you should also seriously consider getting a registered developer symbol to prevent conflicts among different plugins. You can do that at the Symbols Registration page on the AutoDesk website.
Depending on your resources, you may also want to join the AutoDesk Developers Network (ADN), which provides access to software technical support, and early and beta access to upcoming AutoDesk products and APIs.
What type of application are you thinking of writing? I've written a couple WPF user controls that communicate with AutoCad. To do so, I used the AutoCad .NET Developers Guide found here:
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html
This is a great blog to with some good video tutorials on it too.
This is a GREAT video if you just want to get started!

Transitioning from the web to the desktop [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Can anyone recommend a language, library, framework or book which focuses on GUI programming from the perspective of a web developer?
I have experience in web development, for example HTML/AJAX/PHP/MySQL among similar technologies. However, I have never programmed my own back-end, or any kind of standalone program. Does anyone have experience making this transition, and what would I best study to help make the leap from the browser to creating programs with GUIs (primarily for Windows)?
I made the transition from client/server applications to web development. The biggest single difference that took some getting used to was the loss of state. Since the web is stateless, but desktop applications are stateful, client applications have many more interaction and interface options easily available.
The best things to study would be some straightforward desktop application frameworks. For Windows you'd probably want to start reading tutorials focused on .Net desktop applications. Start with simple walkthroughs that you can try yourself to get a feel for what you'll be getting into.
Have a look at Windows Presentation Foundation (WPF). It's GUIs are built with XAML, which is a language very similar to HTML.
You could also have a look at Adobe FLEX or Microsoft Silverlight, which you can use to build desktop applications.
In the short term, you could use Appcelerator Titanium to create desktops (or mobile) apps using the web technologies you already know. Pretty cool stuff, IMHO.
Assuming you are experienced from MVC design pattern, swing supports this pretty well:
http://www.javaworld.com/jw-04-1998/jw-04-howto.html
In particular you can use the spring framework with java desktop applications and have swing be the front end:
http://spring-rich-c.sourceforge.net/1.1.0/index.html