Beruflich Dokumente
Kultur Dokumente
a computer or computing device to perform specific tasks (Beal). In short programming languages
are sets of instructions designed to solve a dedicated problem. Programming languages entails both
high level and low level languages. Programming started out with the development of low level
languages being used to develop applications. Later low level languages were improved and high
level languages were developed. The first widespread high level language implemented was
FORTRAN developed in the 1950’s. High level languages are programming languages developed
bases off the English language using English like keywords to simply the development process. In
the development of high level languages inventers had to think of a way to bridge the gap between
high level languages and machine language as machine language is the only language the computer
understands. The way this was achieved was by the use of a compiler which converts high level
languages to machine language so the computer could understand. In the instance of java the code
java produces is converted to bytecode and not machine languages. The reason for this is the
portability which bytecode gives java. A java program can be transferred to different platforms
What are frameworks? Frameworks are like jet packs for development languages: They boost
performance, extend capabilities, and offer libraries of coding shortcuts so developers aren’t hand-
coding web applications from the ground up (Wodehouse). Simplifying the above definition a
the functions a developer would normally perform manually. Frameworks also includes a wide
variety of capabilities such as models, APIs (Advance Programming Interfaces) and other elements
which speeds up development and creates rich dynamic applications. Take for example
construction workers building an apartment, the workers would follow a detailed blueprint plan
and use pre-made materials (bricks, pre-mix etc) to fully construct the apartment. The blueprint
and pre-made materials would be considered the frameworks used in the construction of the
complete set of tools that was organized with the sole purpose of allowing you to focus on one or
more specific tasks. Software Frameworks are extremely useful and are being used more and more
every day for their amazing capability of simplifying the development process and cutting
development time in half. When developing an application a huge amount of time would have to
be dedicated to building the logic of the application and with time constraints of all sorts you don’t
want to be forced to program any kind of low level functionality. This is where software
frameworks come into play, they take care of all the low-level action. In a nutshell the purpose of
a software framework is to boost the efficiency of creating new software and programs.
Framework
1. What are the differences and similarities between a Programming Language and a
Framework?
communicate instructions to a machine. It has two parts, the form of instructions (syntax)
and the semantics. Programming language can be used to create programs to control a
machine etc. On the other-hand, a framework is a collection of programs that can be used
to develop your own applications. Frameworks serve a guide for the building of
something useful and can include multiple libraries and application programming
interfaces, Devero. A.
2. Which one is better to be used for a new application, expanding an existing application, or
language which automates most of the functions a developer would normally perform
manually.
language would be ideal to continue the application. On the other-hand, if the application
is not as complex, the existing code can be converted to the new framework and then the
simplifies the programming process and reduce the amount of time it takes to develop
and application. Therefore, the new application would be developed in less time with
3. What is a scripting language and how does it relate to programming languages and
frameworks in general?
Python and Ruby. Scripting languages are often interpreted rather than compiled. Yes it
does relate to programming languages and frameworks in the sense that they all perform
4. What is a library and how does it relate to programing languages and frameworks in general?
can use. These routines are sometimes called modules which are stored in object format.
These libraries are useful for frequently used routines since you don’t need to link them
to every program that uses them. The linker automatically looks in libraries for routines
that it does not find somewhere else. A library can relate to a programming language in
the sense that all the libraries needed for a programming language are precompiled and
can be included into a language. On the other-hand, frameworks can include libraries and
components contain all the attributes passed into a component, including closure actions.
• No, Ember.js only understand and works with its modified version of javascript.
3. How does your framework deal with dead code, dangling pointers and garbage collection?
• According to Minichate (2017), dead code can be discovered using an add-on called
ember-cli-tree which uses a tree shaking infrastructure to discover dead code within
Ember applications.
• Dangling pointers
• Ember.js emphasizes scalabilty, its mainly developed for apps that plan to scale into
much bigger project. It enforces stricter rules to ensure that an application avoids
5. Can you call a routine, procedure, or API in one language from another in your framework?
• Procedure - No
6. What operating systems are supported by your framework, and how popular are these
NetMarketShare (2017)
• Microsoft Windows owns 88.78% of the operating system market share, according to
NetMarketShare (2017)
• macOS owns 8.42% of the operating system market share, according to NetMarketShare
(2017)
7. What form factors does your framework support. eg. desktop, mobile, etc?
• EmberJS is well supported. The EmberJS team has been releasing updates earlier than or
11. How popular is your framework? Are there estimates of how many developers are using
your framework?
• EmberJS is quite popular, with developments from top websites such as LinkedIn, Vine,
Twitch, KickStarter, Fitbit, Yahoo, Microsoft and Netflix. No there are no estimated of
12. Does your framework have a rich collection of tools and easily-obtainable libraries?
• Yes. A lot of tools and libraries are available for EmberJS, according to Treacy, F (2016).
13. How well does your framework support debugging, test automation and instrumentation?
14. Is your framework lightweight or heavyweight? How does this affect the types of
• EmberJS is a single paged application. Meaning there exists one main html file and the
different parts of the application such as components are added/removed based on the
users input. This will not see a decrease in performance as it relates to large applications.
17. How does the cost and development time compare with other frameworks, and without using
• No. EmberJS does not support MVC coding pattern. EmberJS uses MVVM (Model-
20. Describe the relative size of applications developed using your framework?
• A large number of applications were developed using EmberJS. They include: Microsoft,
KickStarter, Code School, Ibotta, Travis CI, TED, LivingSocial, Bustle, Groupon,
• To deploy an Ember application, simply transfer the output from ember build to a web
server. This can be done with the standard Unix file transfer tool such as rsync or scp.
There are also services that will let you deploy easily.
• Yes. EmberJS does support multiple developers and development teams, Ember (2017).
References
Abel, R. (2016). Three Reasons Ember.js Closure Actions Rule. Retrieved from: https://
spin.atomicobject.com/2016/06/25/emberjs-closure-actions/
Baker, M. (2009). What is a Software Framework? And why should you like ‘em?. Retrieved
from: https://info.cimetrix.com/blog/bid/22339/what-is-a-software-framework-and-why-
should-you-like-em
www.quora.com/What-exactly-is-a-software-framework
blog.alexdevero.com/programming-languages-libraries-and-frameworks/
ember/2.15/classes/Ember.Instrumentation?show=inherited%2Cprivate
https://guides.emberjs.com/v2.14.0/configuring-ember/debugging/
ember-cli-tree-shake
https://netmarketshare.com/operating-system-market-share.aspx?
options=%7B%22filter%22%3A%7B%22%24and%22%3A%5B%7B%22deviceType%
22%3A%7B%22%24in%22%3A%5B%22Desktop%2Flaptop%22%5D%7D%7D%5D
%7D%2C%22dateLabel%22%3A%22Trend%22%2C%22attributes%22%3A%22share
%22%2C%22group%22%3A%22platform%22%2C%22sort%22%3A%7B%22share%2
2%3A-
1%7D%2C%22id%22%3A%22platformsDesktop%22%2C%22dateInterval%22%3A%2
2Monthly%22%2C%22dateStart%22%3A%222017-
04%22%2C%22dateEnd%22%3A%222018-03%22%2C%22segments%22%3A%22-
1000%22%7D
multithread
scripting-language
www.codeschool.com/blog/2016/07/18/4-essential-tools-for-ember-developers/
development/understanding-software-frameworks/
https://www.upwork.com/hiring/development/angularjs-vs-emberjs-javascript-frameworks/